![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Сегодня было мне просветление.
Когда вышла Visual Studio .NET, все страшно тащились от фичи code outlining. Это когда по левому краю идёт такая полосочка, и везде, где открывается блок, на этой полосочке возникает [-]
. Который можно ткнуть, и он превратится в [+]
, а внутренность блока свернётся.
Так вот, этот самый outlining есть зло. Потому что позволяет, сворачивая постепенно части кода, написать такую функцию, которая не поместится нормальному человеку в голову. (Эмпирическое правило 1: длина функции в строках не должна превышать IQ maintainer’а. Эмпирическое правило 2: длина распечатки функции шрифтом разумного кегля не должна превышать рост разработчика.)
no subject
Date: 2008-01-31 18:05 (UTC)no subject
Date: 2008-01-31 19:50 (UTC)Ну не знаю. Некоторые фичи, типа подсветки синтаксиса или перехода на определение идентификатора (с открытием нужного файла) по нажатию на нём некой клавиши — очень даже.
Ну и вообще непонятно, где кончается IDE и начинается хорошо настроенный редактор. Emacs с повешенным на клавишу вызовом
make
— это уже среда? А если выхлоп компилятора собирается в выделенный буфер? А если тыкание в разные места этого выхлопа открывает упомянутые в нём файлы на указанных строчках?no subject
Date: 2008-02-01 03:02 (UTC)no subject
Date: 2008-01-31 19:41 (UTC)no subject
Date: 2008-01-31 20:26 (UTC)no subject
Date: 2008-01-31 20:32 (UTC)no subject
Date: 2008-01-31 20:34 (UTC)no subject
Date: 2008-02-01 03:07 (UTC)no subject
Date: 2008-01-31 20:45 (UTC)Семь±два — это размер человеческого кэша. Но, в принципе, работать можно и на RAM’е. А вот когда начинается своппинг, это уже ж#па.
Если язык позволяет в семи±двух строках сделать достаточно — почему бы и нет. Но, кажется, для этого надо, чтобы он умел блоки Smalltalk’а или лямбда-функции LISP’а. Когда я пытаюсь писать что-нибудь на JavaScript’е, у меня тоже получается нарезка из мелких функций. А вот на C++ такого дробления не достигается.
no subject
Date: 2008-02-01 03:08 (UTC)no subject
Date: 2008-04-25 11:51 (UTC)А откуда эта странная информация?
no subject
Date: 2008-04-25 14:06 (UTC)no subject
Date: 2008-02-01 04:21 (UTC)