суббота, 28 мая 2011 г.

Clean Code

а вот например я давеча с бодуна практически дочитал subj
Краткое содержимое книжки можно выразить примерно так: "когда коту java программисту нечего делать - он лижет яйца занимается рефакторингом"
Причем занятие это
  1. полностью бессмысленно, ибо не имеет критерия останова. В самом деле - никакого критерия когда уже можно остановиться полировать кирпич во всей книге не дается.
  2. сильно смахивает на банальный перебор вариантов вместо того чтобы немного подумать
  3. ценность имеет сугубо отрицательную
Вот например в главе 14 гражданин в утомительных подробностях показывает, как не особо сложный кусок кода строк в 500-600 был доведен до его текущего состояния. С гордостью заявляется что для этого потребовалось тридцать итераций, при этом после каждой в соответствии со священными принципами экономикса TDD все тесты были успешно пройдены. А сколько гражданину потребуется итераций на код в 50000 строк ? А на 5 миллионов ?
Лучше бы гражданин отложил в сторону клавиатуру и подумал как сделать код сразу более-менее расширяемым. Мне на это обычно требуется одна сигарета например.

Или вот в главе 16 дается яркий пример отрицательной ценности изменений. Гражданин взял open-source либу и переделал ее в соответствии со своими тонкими критериями врожденной эстетичности. При этом сломал не пойми чего ради
  • имена абстрактных методов
  • способ создания классов
  • имена публичных методов
 Думаю что авторы программ, использующих данную библиотеку, сказали негромко много всяких непечатных выражений в адрес гражданина после таких переделок

И вообще вся книжка оставляет впечатление что ознакомился с мнением школоты об устройстве мира. Вот например глава 13 - я всю жизнь думал что написание многопоточного кода - штука весьма непростая. Ничего кроме тривиальнейших советов глава не сообщает. Особенно жжет список литературы - если вы собираетесь увидеть там что-нть вроде "Art of Concurrency" или "Distributed Algorithms" - вы жестоко ошибаетесь

Ящетаю что такие книжки нужно торжественно сувать в неиллюзорные печи холокоста например

Комментариев нет:

Отправить комментарий