NDepend Graf, Durchschnitt, etc .. Berichterstattung ... Aggregate. Möglich? saubere Arbeit arounds?

StackOverflow https://stackoverflow.com/questions/3833525

Frage

Wir haben eine riesige Codebasis, wo Methoden mit zu vielen lokalen Variablen allein kehren 226 Methoden. Ich will nicht diese riesigen Tisch, die in die XML-Ausgabe abgeladen es zu vollstopfen, und ich möchte die Top 10, wenn möglich, aber was ich wirklich will, ist die Zählung so wir tun können, Trends und Zusammenfassungen. Gibt es einen sauberen / effizienten / skalierbare Nicht-hacky Weg, dies zu tun?

Ich stelle mir vor ich eine ausführbare Aufgabe verwenden könnte, anstelle der NDepend Aufgabe (so dass die Zusammenführung ist nicht automatisch) und die Unordnung zusammen bekommen nicht. Dann manuell arbeitet auf diesen Dateien eine Zusammenfassung zu bekommen, aber ich würde gerne wissen, ob es ein kürzerer Weg ist?

War es hilfreich?

Lösung

Was ist eine Basislinie nur dann definieren, aufgrund neuer Fehler ?

  

, was ich wirklich will, ist die Zählung so wir Trending und Zusammenfassungen tun können,

Trending kann leicht mit dem Code-Abfragen und Regeln über LINQ (CQLinq) wie erreicht wird = "nofollow"> vermeiden Sie komplexe Methoden komplexe (Quelle CC) machen

// <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,
}

oder Vermeiden Sie eine unveränderliche Art in einen wandelbaren ein verwandeln.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top