2.6 KiB
2.6 KiB
#рефакторинг #запахи_кода
Планируя изменение, мы хотим иметь возможность перейти в определенную точку программы и внести изменения именно в ней.
Расходящиеся изменения имеют место тогда, когда один модуль часто изменяется различными путями по разным причинам. Взаимодействие с базой данных и обработка финансов имеют разные контексты, так что можно облегчить свою программистскую жизнь, перемещая эти контексты в разные модули. Таким образом, когда требуется изменение в одном контексте, следует разобраться только с ним одним и игнорировать другой. Мы всегда считали это важным, но теперь, когда наш мозг с возрастом уменьшается в размерах, этот подход становится просто необходимым
Признаки
- При внесении изменений в класс приходится изменять большое число различных методов. Например, для добавления нового вида товара вам нужно изменить методы поиска, отображения и заказа товаров.
Причины появления
- Следствие плохой структурированности программы или программирования методом копирования-вставки
Рефакторинги
- Разделение этапа (Split Phase)
- Перенос функции (Move Function)
- Извлечение функции (Extract Function)
- Извлечение класса (Extract Class)
Результат
- Улучшает организацию кода
- Уменьшает дублирование кода
- Упрощает поддержку

