Чистый код. Создание, анализ и рефакторинг

Роберт Мартин
Цитаты
Важность в мелочах - вовсе не мелочь
Обложка книги

В совокупности с Чистая архитектура за авторством несменного дядюшки Боба - швейцарский нож в арсенале инженера любого уровня и сферы. Я не столь красноречив, чтобы описать весь потенциал, заложенный на страницах этих изданий и ждущий его воплощения в строках кода. Поэтому, просто советую почитать и обещаю, что вы станете смотреть на код, как на произведение искусства. Он должен не просто работать, а - быть продолжением инженерной мысли, выстраивая гибкую архитектуру, позволяющую реализовать бизнес требования на лету и быть масштабируемым. А взгляд со стороны на ваш код должен вызывать восторг не меньший, чем от улыбки Мона Лизы да Винчи (в аналогиях я тоже не спец).

В подаче материала автора чувствуется некая усталость от некомпетенции, с которой он сталкивался в течение своей карьеры (а это более 40 лет в разработке). Отсюда вытекает настойчивость и авторитетность заявлений, но это не звучит как-то голословно и необоснованно. Роберт Мартин по полочкам раскладывает концепции и показывает на многочисленных примерах процессы рефакторинга и "запахов" кода. Более того он очень осторожно высказывается о чужой работе и всячески старается отвести взгляд от личной оценки в сторону прагматизма. Основной посыл всего материал в том, что невозможно написать идеальный код, и любой код требует вдумчивого рефакторинга время от времени.

Лично мне оказалась очень близка тематика архитектуры приложений и паттернов программирования. В совокупности, обе книги я читал около полугода, потому что такой материал невозможно переварить за пару вечеров. Во время перерывов я обращал внимание на свой код и мне кристально чисто становилось ясно, что требует дополнительной проработки. Не сказать, что книга осеняет, но она в значительной мере приводит голову в порядок и структурирует уже известные читателю темы, вырабатывает дисциплину и заставляет относиться к коду больше, чем просто к ноликам и единицам.

Язык примеров кода в книге - Java. Но в данном случае её можно рассматривать, как псевдокод, т.к. сами паттерны и прочие умные слова никак не привязаны к языку. Java выбрана, как пример хорошо спроектированного ООП языка, на котором большую часть времени сам автор и пишет. Книга изобилует отсылками к трудам других популяризаторов ООП, принципов SOLID, DRY и пр. По ходу прочтения можно встретить некоторые сноски вида [C4] (автор называет их эвристическими правилами и признаками "запаха" кода), для которых в конце книги находится расшифровка. Что очень удобно и на мой взгляд является киллер фичей, для которой я не пожалел отдельной статьи в своём блоге.

Данный тандем однозначно фаворит в моём личном списке технической литературы. Мне бы хотелось жить в идеальном мире, где студентам IT специальностей читали бы подобный материал и прививали то самое "чувство кода" ещё до начала их карьеры. Работающий код - хорошо, но хорошо работающий код - ещё лучше.

 Обсудить