Предисловие
Поводом для прочтения данной книги была рекомендация её в одном из докладов на Jug.ru.Во время просмотра видео меня чуток "передёргивало" в некоторых моментах от, как мне казалось, весьма смелых или даже слегка дерзких предложений докладчика о том как надо писать хороший код. В попытках как-то сравнить свой опыт и причины появлений некоторых идей докладчика, я прочитал данную книгу.
Буквально вчера закончил чтение перевода книги Роберта Мартина ("Uncle Bob")
"Clean Code: A Handbook of Agile Software Craftsmanship".
Вообще, перевод оказался весьма достойным (уровня перевода книги "Code Complete" Стива Макконнелла). Сперва начал как обычно читать первоисточник, но потом нашёл русскую версию книги ("Чистый код"), удостоверился в достойном уровне перевода и начал читать его.
Несмотря на название, про Agile там почти ничего нет. Книга, в основном, больше ориентирована на описание принципов хорошего стиля программирования и почему это так важно. Этакий синтез второй половины "Совершенного кода" может чуть более простыми и понятными словами и выдержек из "Программиста-прагматика" с элементами "Effective Java" Джошуа Блоха. Весь код в книге на Java. Есть небольшие отсылки к паттернам проектирования из "Design Pattern" GoF.
Несмотря на высокую концентрацию советов, "каши в голове" от прочтения не образуется. Текст весьма прилично поддержан кодом примеров, где автор разбирает проблемы и предлагает итеративный процесс улучшения. Так же в книге затрагиваются проблемы многопоточного кода. Кратко, но вполне достаточно, чтобы указать как их решать или где об этом почитать. Приведён список "запахов плохого кода" от Мартина Фаулера.
Отдельной темой в книге является призыв к использованию TDD (Test-Driven Development) - разработка через тестирование. Весьма убедительно описаны приемущества, подходы к написанию хороших тестов, есть небольшой обзор JUnit. Похоже, этот метод и впрям так хорош. Надо будет попробовать применить его в одно из "домашних" проектов.
В общем, книжка вполне имеет право на существование. "Адовый концентрат" best practice может быть интересен для начинающих разработчиков, чтобы им как можно быстрее приучиться к хорошему без прочтения целой кучи других книг или для закрепления уже прочитанного в данных книгах (что было полезно для меня).
Комментариев нет:
Отправить комментарий