Рефакторинг. Улучшение существующего кода

Рефакторинг. Улучшение существующего кода

Читал вторую редакцию, примеры в этой версии на JavaScript.

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

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

Зачем читать

Чтобы писать код лучше, а ревью на него — по делу.

Цитаты

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

Неиспользуемый код все еще является серьезным бременем при попытке понять, как работает программное обеспечение. Он не несет никаких предупреждающих знаков, говорящих программистам, например, о том, что они могут игнорировать эту функцию, так как она больше не вызывается, и им при­ходится тратить время на понимание того, что она делает, и почему ее изменение не влияет на результат так, как они ожидали.

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