yurikhan: (Default)
[personal profile] yurikhan

Сегодня было мне просветление.

Когда вышла Visual Studio .NET, все страшно тащились от фичи code outlining. Это когда по левому краю идёт такая полосочка, и везде, где открывается блок, на этой полосочке возникает [-]. Который можно ткнуть, и он превратится в [+], а внутренность блока свернётся.

Так вот, этот самый outlining есть зло. Потому что позволяет, сворачивая постепенно части кода, написать такую функцию, которая не поместится нормальному человеку в голову. (Эмпирическое правило 1: длина функции в строках не должна превышать IQ maintainer’а. Эмпирическое правило 2: длина распечатки функции шрифтом разумного кегля не должна превышать рост разработчика.)

Date: 2008-01-31 19:41 (UTC)
From: [identity profile] eugenius-nsk.livejournal.com
Есть вообще мнение, что длина метода должна быть в среднем около семи строк. Это, конечно, максима, но я с ней согласен.

Date: 2008-01-31 20:26 (UTC)
From: [identity profile] mrbiggfoot.livejournal.com
Это мнение человека, никогда не писавшего алгоритмически сложный код. Такой, как, например, построение суффиксного дерева. Или хотя бы что-нибудь наподобие банального rsync'а.

Date: 2008-01-31 20:34 (UTC)
From: [identity profile] mrbiggfoot.livejournal.com
Отнюдь не в 7 строк.

Date: 2008-02-01 03:07 (UTC)
From: [identity profile] eugenius-nsk.livejournal.com
Обращу внимание на два слова в моём посте - "в среднем" и "максима". Что касается "никогда не писавшем" - сходи по ссылке, там приведена реальная статистика длин методов для трёх разных диалектов Смолтока. Я надеюсь, не обязательно доказывать, что там есть и алгоритмически сложный код? :-)

Date: 2008-02-01 03:08 (UTC)
From: [identity profile] eugenius-nsk.livejournal.com
Да, конечно, если язык помогает, то это значительно легче. Но стараться-то надо в любом случае :-)

Date: 2008-04-25 11:51 (UTC)
From: [identity profile] amaembo.livejournal.com
> Семь±два — это размер человеческого кэша

А откуда эта странная информация?

Profile

yurikhan: (Default)
Yuri Khan

August 2018

S M T W T F S
   1234
567891011
12131415161718
19202122232425
26 2728293031 

Links

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated 2025-07-14 04:19
Powered by Dreamwidth Studios