[Отзыв] Р. Мартин "Чистый код"
Продолжаю ставить галочки с списке must read для уважающего себя программиста. Очередной прочитанной технической литературой после долгого перерыва на конференции, отпуска и работу стала книга Роберта Мартина "Чистый код".
Много советов и глав, которые повторяют то, что я читал и ранее, про принципы единственности ответственности, закон Деметры и т.д., поэтому опишу вкратце только то, что мне было в новинку или просто понравилось.
- Главы про многопоточность! Однозначная 5, много примеров проблем и пути их решения:
- как тестировать многопоточный код
- что такое атомарные операции и какие операции могут быть прерваны другим потоком
- какие операции обычно выносятся для создания многопоточности.
- Запахи плохого кода и эвристические правила для хорошего. Их много, часть из них очевидна, большую часть уже встречал в том или ином виде в других книгах и статьях, но тем не менее очень полезно повторить.
- Очень понравился подход автора к рефакторингу старого кода, на который даже тестов не было. Первое что он делает, так это добивает покрытие кода до ~ 90%, смотрит, что система ведет себя ожидаемо во всех случаях, а затем начинает рефакторить, так, чтобы Апи не поменялось и тесты все также проходили. Именно так и надо делать, многие сначала делают рефакторинг, потом пишут тесты, это абсолютно неправильный подход.
Это 3 основных момента, которые мне больше всего запомнились из данной работы, но это не означает, что там больше нечего читать и нечему научиться. Это однозначно очень полезная книга, я считаю, что её должен изучить любой программист, который считает, что он профессионал в своем деле.
Ссылка на книгу:
"Чистый код: создание, анализ и рефакторинг. Библиотека программиста" Роберт Мартин - ISBN 978-5-496-00487-9 |