[Отзыв] Р. Мартин "Чистый код"

Продолжаю ставить галочки с списке must read для уважающего себя программиста. Очередной прочитанной технической литературой после долгого перерыва на конференции, отпуска и работу стала книга Роберта Мартина "Чистый код".

Много советов и глав, которые повторяют то, что я читал и ранее, про принципы единственности ответственности, закон Деметры и т.д., поэтому опишу вкратце только то, что мне было в новинку или просто понравилось.

  1. Главы про многопоточность! Однозначная 5, много примеров проблем и пути их решения:
  • как тестировать многопоточный код
  • что такое атомарные операции и какие операции могут быть прерваны другим потоком
  • какие операции обычно выносятся для создания многопоточности.
  1. Запахи плохого кода и эвристические правила для хорошего. Их много, часть из них очевидна, большую часть уже встречал в том или ином виде в других книгах и статьях, но тем не менее очень полезно повторить.
  2. Очень понравился подход автора к рефакторингу старого кода, на который даже тестов не было. Первое что он делает, так это добивает покрытие кода до ~ 90%, смотрит, что система ведет себя ожидаемо во всех случаях, а затем начинает рефакторить, так, чтобы Апи не поменялось и тесты все также проходили. Именно так и надо делать, многие сначала делают рефакторинг, потом пишут тесты, это абсолютно неправильный подход.

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

Ссылка на книгу:

"Чистый код: создание, анализ и рефакторинг. Библиотека программиста" Роберт Мартин - ISBN 978-5-496-00487-9"Чистый код: создание, анализ и рефакторинг. Библиотека программиста" Роберт Мартин - ISBN 978-5-496-00487-9