yurikhan: (Default)
[personal profile] yurikhan

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

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

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

Date: 2008-01-31 18:05 (UTC)
vitus_wagner: My photo 2005 (Default)
From: [personal profile] vitus_wagner
Ну визуальное программирование оно все harmful, как и пошаговая отладка. То есть вообще IDE как класс инструментов задуманы именно для писания write once-read never программ.

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

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
> Семь±два — это размер человеческого кэша

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

Date: 2008-02-01 04:21 (UTC)
From: [identity profile] uemoe.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-07 08:00
Powered by Dreamwidth Studios