3

巨大なコードベースがあり、ローカル変数が多すぎるメソッドだけで226個のメソッドが返されます。この巨大なテーブルがxml出力にダンプされて乱雑になることは望ましくありません。可能であれば、トップ10が欲しいのですが、本当に必要なのは、トレンドとエグゼクティブの要約を実行できるようにするためのカウントです。これを行うためのクリーン/効率的/スケーラブルでハッキーでない方法はありますか?

ndependタスクの代わりに実行可能タスクを使用でき(マージが自動化されないようにするため)、クラッターがマージされないことを想像します。次に、それらのファイルを手動で操作して要約を取得しますが、より短いパスがあるかどうかを知りたいですか?

4

1 に答える 1

1

新しい欠陥のみを考慮に入れるようにベースラインを定義するのはどうですか?

私が本当に欲しいのはカウントです。そうすれば、トレンドやエグゼクティブの要約を行うことができます。

トレンド分析は、次のような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,
}

または不変型を可変型に変換することは避けてください

于 2010-09-30T19:12:27.163 に答える