Продолжить обсуждение из Базовые вещи - SonarQube:
Итак мы внезапно обнаруживаем что в ERP 2.1 11% дублированного кода
Это не плохо и не хорошо
просто цифра - 11%, идем дальше - как все помнят, нужно непрерывно улучшать качество
переходим на расшифровку
мы видим что - существуют:
- 23 тысячи участков с дублями
- в этих 23 тысячах участках участвует полмиллиона строк
- всего эти участки находятся в 2700 файлах
масштаб трагедии большой, но что делать
Вспоминаем принцип “Паррето”
Берем самый задублированный участок в виде дерева - чтобы понять объект метаданных
Обновление информационной базы трогать типа не будем (хотя 600 участков копипаста фееричны). Обоснуем это тем, что якобы обновление информационной базы деляется не часто - поэтому пофигу.
А вот Обновление данных контрагентов посмотрим - оно частое.
Рефакторим
тыкаем в модуль и находим дублирующий участок кто виноват и с кем проходит дубль
видим что программисты молодцы - перебор таблицы значений тупо скпопипастили
Чем это опасно ?
Я думаю вы и сами понимаете, что при необходимости добавить новое поведение в заполнение таблицы, придется править 2 места… А так как в модуле 20 тысяч строк - кто-то обязательно накосячит. И потеряет время и деньги.
ну и кстати - @sergey.novikov ты спрашивал про code-coverage - его можно увидеть на любом модуле и на всей конфигурации
и если покрытие 100% - тогда можно смело рефакторить плохой код