Base/Knowledges/IT/Рефакторинг/Рефакторинг.md
2026-02-23 19:52:05 +03:00

8.8 KiB
Raw Blame History

#рефакторинг #запахи_кодаетоды_рефакторинга

Запахи кода

— Что? Как может пахнуть код? — Да, пахнуть определенно не может... а вот пованивать — запросто.

Раздувальщики

!Pasted image 20241114073900.png

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

Нарушители объектного дизайна

!Pasted image 20241114073951.png

Все эти запахи являют собой неполное или неправильное использование возможностей объектно-ориентированного программирования.

Утяжелители изменений

!Pasted image 20241114074059.png

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

Замусориватели

!Pasted image 20241114074400.png

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

Опутыватели связями

!Pasted image 20241114074423.png

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

Остальные запахи


Методы рефакторинга

Низкоуровневые рефакторинги

Инкапсуляция

Перенос функциональности

Организация данных

Упрощение условной логики

Рефакторинг API

Работа с наследованием