ND 数、平均などに依存します。レポート…集計。可能?クリーンな回避策?
-
26-09-2019 - |
質問
膨大なコード ベースがあり、ローカル変数が多すぎるメソッドだけで 226 のメソッドが返されます。この巨大なテーブルが XML 出力にダンプされて乱雑になることは望ましくありません。できればトップ 10 が欲しいのですが、私が本当に必要としているのは、トレンドやエグゼクティブ サマリーを作成できるようにするためのカウントです。これを行うためのクリーンで効率的でスケーラブルな、ハック的ではない方法はありますか?
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,
}
または 不変型を可変型に変換しないようにする.
所属していません StackOverflow