Мартин Фаулер "Рефакторинг. Улучшение существующего кода" Личное мнение: "must know" Читать с карандашем для заметок
Данное издание может порадовать не только отличным качеством бумаги и печати и твердым переплетом, но и наличием весьма толкового материала.
Во-первых, все примеры написаны на Java и разобраны весьма подробно. Это позволяет манипулировать кодом и на других языках, таких как С++, С#, PHP5 (в некоторой степени) и т.п.
Во-вторых, каждое действие с кодом обосновано "мотивировкой", хотя и остаются порой весьма субъективные положения мотивации. Например, из субъективного ощущения объема метода можно вынести решение на разбитие этого метода, а можно и не вынести, если вам кажется, что этот метод не такой уж и объемный.
В-третьих, в вашем арсенале появляется список понятий, которыми вы можете легко оперировать при обсуждении с таким же как вы, прочитавшим эту книгу и въехавшим в этот материал. На самом деле реакция знающего специалиста будет молниеносна на ваши слова о "замене временной переменной вызовом метода" или о "выделении класса" (Проверено на личном опыте).
Таким образом, механизм, которым Вы должны овладеть по окончании проработки материала книги, должен повысить ваш профессионализм и заставить взглянуть на ваш код с другой стороны. Я после прочтения долго не мог приступить к своему старому проекту, который в итоге и был заброшен, только из-за того, что это был не просто "код с душком", о котором написано в книге, а "код со шмоном" - настолько отвратительно оказалось его дальнейшее сопровождение. Я просто начал все заново.
Если вы стремитесь развивать свой профессионализм, то думаю, вам стоит прочесть эту книгу, прежде чем писать код нового проекта.
|