2026-02-23 19:52:05 +03:00

2.7 KiB
Raw Blame History

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

!Pasted image 20241112221124.png

Увидев одинаковые структуры кода в нескольких местах, можно быть уверен­ным, что если их удастся объединить, то программа от этого только выиграет. Дублирование означает, что каждый раз, когда вы читаете такие копии, вам необ­ходимо внимательно проверять — нет ли между ними какой-либо разницы. Если вам нужно изменить дублированный код, вы должны найти и исправить каждую копию.

Признаки

  • Два фрагмента кода выглядят почти одинаковыми.

Причины появления

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

!Pasted image 20241112221307.png

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

Результат

  • Объединение дублирующего кода позволяет улучшить структуру кода и уменьшить его объём
  • Упрощение и удешевление поддержки кода в будущем

!Pasted image 20241112221342.png

Не стоит трогать, если...

  • В очень редких случаях объединение двух одинаковых участков кода может сделать код менее очевидным и понятным.

Ссылки