1

ソリューションに特定のメソッドが設定されているとしましょう。メソッドセットのメソッドごとの平均コード行数を取得するにはどうすればよいですか?

これらの数値は通常、各NDependレポートの統計セクション(Sum, Average, Minimumなど)に表示されますが、このような数値のクエリを個別に記述できるようにしたいと思います。

4

1 に答える 1

1

CQLinq クエリは次のようになります。

let totalLinesSum = JustMyCode.Methods.Where(t => t.IsPublic).Sum(t => t.NbLinesOfCode)
let methodsCount = JustMyCode.Methods.Where(t => t.IsPublic).Count()

let result = (double)totalLinesSum / methodsCount 

select (double?)result

...またはもう少し洗練された、このクエリは次のようにリファクタリングできます。

// Let define your methods set the way you need
// It is worth removing abstract method that have no LoC
let methodsSet = JustMyCode.Methods.Where(m => m.IsPublic && !m.IsAbstract)

let totalLoc = methodsSet.Sum(t => t.NbLinesOfCode)
let methodsCount = methodsSet.Count()
let avgLoc = (double)totalLoc / methodsCount 

select (double?)avgLoc
于 2013-01-16T21:04:25.590 に答える