Кому читать: программистам с уровня middle. Как сказали на Хабре: "довольно много здравых и интересных мыслей, но иногда они выражаются столь категорично, что неокрепшим программерским мозгом они могут восприниматься неправильно."
Пара слов об авторе: Роберт Сесил Мартин, он же Дядя Боб — инженер-программист, международный консультант и автор в области разработки ПО.
- Мастер экстремального программирования (методика, направленная на то, чтобы справляться с постоянно меняющимися требованиями к программному продукту и повысить качество разработки).
- Основатель Object Mentor Inc.[3], компании, оказывающей консультационные услуги и тренинги по C++, Java, ООП, Шаблон проектирования и пр.
- Есть свой сайт
О чем книга: о том, как написать код, который будет понятен другим членам команды и обеспечивать качественную работу проекта.
Дядя Боб приводит примеры кода на Java, чтобы показать процесс рассуждения при написании кода и примеры рефакторинга (процесс изменения программной системы, при котором не меняется внешнее поведение кода, но улучшается его внутренняя структура).
Книга поделена на три части. В первой рассматриваются:
- Выбор имен для методов;
- Рекомендации к написанию функций;
- Рекомендации по использованию комментариев;
- Форматирование кода;
- Обработка исключений;
- Предоставление доступа к данным.
Во второй:
- Рекомендации по построению архитектуры приложения;
- Рекомендации по написанию юнит тестов;
- Взаимодействие со сторонним кодом;
- Рекомендации по реализации параллельного выполнения задач.
В третей части идет выжимка основных идей: о технике написания кода и процессе мышления работы с кодом.
Отзывы знакомых программистов:
"Эта книга заставила меня почувствовать себя ужасным программистом. Раньше не обращал внимания на рефакторинг, чтобы очистить код. Пришлось исправляться, ибо плохой код страшен в долгосрочной перспективе."
"Пока читал, применял принципы и концепции из книги на работе. Ведущий разработчик недавно заметил и прокомментировал положительные изменения в моем коде и по части рефакторинга."
"Прочитал книгу, а потом через FitNesse посмотрел исходный код сатй автора. Не то, чтобы он придерживался собственных тезисов. Не могу отнестись к его книге с доверием."