Хабы: Блог компании Издательский дом «Питер», API, Rust, Проектирование и рефакторинг
Рефакторинг – это “
это контролируемая техника совершенствования структуры существующего кода” [
Фаулер]. Сейчас уже написано так много всего о запахах кода и приёмах рефакторинга в микромасштабе (есть, например,
книги и
целые сайты). А я хочу рассмотреть ситуацию крупным планом и обсудить,
как именно и
в каком порядке следует применять эти приёмы. В частности, берусь утверждать, что рефакторинг лучше всего выполнять
наизнанку, то есть, начинать от границы с внешним API, а далее прорабатывать код вглубь, переходя к классам, методам, алгоритмам, типам, тестам или именам переменных.
Примеры кода в этом посте написаны на Rust, но техника рефакторинга наизнанку также применима и в других языках программирования. Я выбрал для примера Rust, так как рефакторинг тем удобнее, чем сильнее система типов.
Читать дальше →