0

私はデータ マイニング プロジェクトに興味があり、コード レビューが必要な特定のチェックインと不要なチェックインを判断する分類アルゴリズムを作成したいと常に考えていました。

私は自分のアルゴリズムのために多くのヒューリスティックを開発しましたが、まだキラーを理解していません...

コードのチャンクの計算の複雑さをプログラムでチェックするにはどうすればよいですか?

さらに興味深いのは、コードだけでなく、ソース管理リポジトリが提供する差分を使用して、より良いデータを取得するにはどうすればよいかということです..

IE: チェックインしているコードに複雑さを追加すると、残っているコードの複雑さが軽減されますが、それは「良い」コードと見なされるべきではありませんか?

これに関するあなたの考えに興味があります。

アップデート

どうやら私ははっきりしていなかったようです。これ欲しい

double codeValue = CodeChecker.CheckCode(someCodeFile);

コードの良さに基づいて数字を出してほしい。複雑さを計算するときにVS2008が与えるような数値から始めますが、さらにヒューリスティックに移りたいと思います。

誰にもアイデアはありますか?それは大歓迎です!

4

4 に答える 4

3

NDependを見ましたか?このツールは、コードの複雑さを計算するために使用でき、アプリケーションで信じられないほどの量のデータを取得できるクエリ言語をサポートしています。

于 2009-04-28T03:56:49.290 に答える
0

完全なファイルとすべての妥当なサブディビジョン(メソッド、クラスなど)の両方でさまざまな標準メトリック値を計算するツールについては、 Semantic Designs C#メトリックツールを参照してください。

出力はXMLドキュメントですが、そこから必要な値を抽出することは、XMLリーダーでは簡単なはずです。

于 2010-03-29T19:03:33.533 に答える
0

また、Microsoftのコード分析(VS Team Suiteに付属)には、コードの循環的複雑度をチェックするメトリックが含まれており、この数値が特定のしきい値を超えると、ビルドエラー(または警告)が発生します。

手元にあるかどうかはわかりませんが、この数が要件に合わせて構成可能かどうかを確認する価値があるかもしれません。その後、何かがチェックインされるたびにコード分析を実行するようにビルドプロセスを変更できます。

于 2009-04-28T08:32:17.833 に答える
0

NDepend Web サイトには、さまざまなメトリックの定義のリストが含まれています。自分の環境でどれが最も重要かを決めるのは、主に自分次第です。

NDepend には、ビルド プロセスに統合できるコマンド ライン バージョンもあります。

于 2009-04-28T03:57:19.850 に答える