Domanda

Abbiamo una base di codice enorme, in cui i metodi con troppe variabili locali ritorna da solo 226 metodi. Non voglio che questo enorme essere scaricato nel tavolo l'output XML di ingombrare in su, e mi piacerebbe la top 10, se possibile, ma quello che voglio veramente è il conteggio in modo che possiamo fare di trend e le sintesi. C'è un modo pulito / efficiente / scalabile non hacky per fare questo?

immagino che potrei usare un compito eseguibile, al posto del compito NDepend (in modo che l'unione non è automatico) e il disordine non viene fusa. Poi azionare manualmente su quei file per ottenere una sintesi, ma mi piacerebbe sapere se c'è un percorso più breve?

È stato utile?

Soluzione

Che dire di la definizione di una linea di base per solo tener conto di nuovi difetti ?

  

quello che voglio veramente è il conteggio in modo che possiamo fare trend e le sintesi

di tendenza può essere facilmente raggiunto con le query di codice e le regole oltre LINQ (CQLinq) come: Evitare di fare metodi complessi ancora più complesso (Fonte 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,
}

Evitare di trasformare un tipo immutabile, in un uno mutabile .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top