Чистый Код. Роберт Мартин

clean-code-design-patterns-7-638

Разработка программного обеспечения — занятие не такое древнее, но и не такое уж и молодое. Один из самых академичных книг в этой сфере — «Искусство программирования» написанный Дональдом Кнутом. Автор начал работу над книгой в 1962 году, т.е. больше половины века назад! В этом посте я хочу написать мое впечатление о другой, более практичной книге — «Чистый Код» написанный Робертом Мартином. Он называет себя Дядя Боб.

Книга была впервые издана в 2008 году. Концепты, описанные в этой книге довольно базовые и фундаментальные. Возможно поэтому эта книга не теряет актуальности и по сей день по нему идут активные дискуссии. В «Чистом Коде» мы увидим множество гайдов и принципов. Большинство из них стали «эталоном» в мире программирования. Будет глупо игнорировать их.

Множество примеров

Что мне больше всего понравилось в книге, так это количество примеров. Если вы прочтете «Не используйте комментарий, описывающий назначение функции», то через несколько страниц вы увидите пример этой ситуации и «разбор полетов»: почему это плохо и как сделать лучше. С каждой главой читатель встречается все с большим и большим количеством примеров исходного кода. Так, к концу книги некоторые главы практически полностью состоят из них.

Угасающая скорость чтения

Проблемы, описываемые в первых главах знакомы многим программистам. Их читаешь довольно быстро, но к середине книге мне пришлось сбавить темп, чтобы понять все аспекты, о которых пишет автор.

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

Java ориентированно

К сожалению для не-Java разработчиков, некоторые параграфы довольно специализированы для Java. По крайней мере читатель может вынести главную идею. В любом случае львиная часть книги будет полезна для всех программистов.

 

В завершение хочется процитировать абзац с книги:

Это миф, что мы можем учесть все с самого начала. Вместо этого мы должны реализовать только то, что нужно на текущий день. Далее — рефакторинг и расширение системы под новые задачи. В этом суть итеративной и расширяемой маневренности (ориг.: «This is the essence of iterative and incremental agility»). Исходный код, полученный на основе TDD и рефакторинга, сделает это возможным на уровне кода.

Определенно эта книга в категорий «обязательна к прочтению» для всех разработчиков ПО.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Картинка профиля Doszhan Kalibek

Doszhan Kalibek