Количество NDEPend, среднее, и т. Д. .. Отчетность ... Агрегаты. Возможно? Чистая работа вокруг?
-
26-09-2019 - |
Вопрос
У нас есть огромная кодовая база, где методы со слишком многими местными переменными в одиночку возвращаются 226 методах. Я не хочу, чтобы этот огромный стол был сбрасывается в выход XML, чтобы загромождать его, и мне по возможности я хотел, но то, что я действительно хочу, это считается, что мы можем выполнять тенденцию и резюме. Есть ли чистый / эффективный / масштабируемый неколебный способ сделать это?
Предлагаю, что я мог бы использовать исполняемую задачу, а не задачу NDEPend (чтобы слияние не автоматически), и беспорядок не объединяется. Затем вручную управляйте этими файлами, чтобы получить резюме, но я хотел бы знать, если есть более короткий путь?
Решение
Что о Определение базовой линии, чтобы принять только новые недостатки?
То, что я действительно хочу, это считается, что мы можем выполнять тенденцию и резюме
Тренда может быть легко достигнуто с помощью кодовых запросов и правил по LINQ (CQLinq), как: Избегайте изготовления сложных методов еще более сложным (источник CC)
// <Name>Avoid making complex methods even more complex (Source CC)</Name>
// To visualize changes in code, right-click a matched method and select:
// - Compare older and newer versions of source file
// - Compare older and newer versions disassembled with Reflector
warnif count > 0
from m in JustMyCode.Methods where
!m.IsAbstract &&
m.IsPresentInBothBuilds() &&
m.CodeWasChanged()
let oldCC = m.OlderVersion().CyclomaticComplexity
where oldCC > 6 && m.CyclomaticComplexity > oldCC
select new { m,
oldCC ,
newCC = m.CyclomaticComplexity ,
oldLoc = m.OlderVersion().NbLinesOfCode,
newLoc = m.NbLinesOfCode,
}
или Избегайте преобразования неизменного типа в мультипликацию.