Кто может подсказать на основании каких данных Сонар выставляет трудозатраты по тех. долгу? У него есть какая то статистика или что?
Трудозатраты в SonarCube
Формула простая
- есть X правил - на каждое правило X(n) установлена норма времени на исправление в минутах
- к проекту примняются правила и получается список замечаний, отсюда
ТехническийДолг = 0;
Для каждого Замечание из Проект.СписокЗамечаний Цикл
ТехническийДолг = ТехническийДолг + Замечание.Правило.НормаВремени;
КонецЦикла
Сообщить("Вы должны своему проекту" + ТехническийДолг/60/24 + " человекодней");
Диграмма сгорания технического долга строится просто
Версия git (sha коммита) | Технический долг |
---|---|
dasdasdasd | 15 человекодней |
rwerewrwrw | 17 человекодней |
fdsfsdfsfsf | 0 человекодней |
Статистика хранится за все время пока анализировался проект.
Это значения является константами или же как то может изменяться организацией эксплуатирующей сервис сонара? Откуда вообще взялось первоначальное значение?
Придумал автор правила и выставил. Соответственно все вопросы к автору правила, а правила у нас из любого плагина, а плагины имеют автора.
Норма времени задаётся внутри исходного кода, если ты не согласен - пиши автору или пиши другое правило со своими плагинами.
Пример из публичного - https://github.com/racodond/sonar-gherkin-plugin/blob/master/gherkin-checks/src/main/java/org/sonar/gherkin/checks/AllStepTypesInScenarioCheck.java#L39
То есть ГОСТа на норму времени исправления бага в общем случае нет. Применительно к 1С у нас на ИТС нет нормы времени, поэтому при разработке были применены наши эмпирические знания.
То есть это прописывается внутри исходника и наверх (пользователю) не выводится в общем случае.
В этом есть смысл - чтобы не хитрили и не меняли такие константы, а исправляли замечания или исключали правило.
Спасибо! теперь все понятно.