Трудозатраты в 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С у нас на ИТС нет нормы времени, поэтому при разработке были применены наши эмпирические знания.

То есть это прописывается внутри исходника и наверх (пользователю) не выводится в общем случае.

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

Спасибо! теперь все понятно.

1 Симпатия