問題タブ [code-metrics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
4995 参照

php - PHP プロジェクトのソフトウェア メトリックを計算する

PHP OOP プロジェクトのコード メトリクスを計算したいと思います。ここに記載されているツールのいくつかを使用しようとしています。ただし、Understandのトレイル バージョンは除きます。

  • コード数、コメント、空白行
  • クラス数 ファイル数
  • 関数の数の数
  • 宣言的/実行可能なステートメント

PHPで機能するものが見つかりませんでした。

State of Flow による Eclipse 用プラグインは、私の (それほど新しくはない) Galileo Eclipse v3.5 では動作しません。

などの対策に興味があります。

  • 継承ツリーの深さ、
  • 平均機能長、
  • クラスごとの加重メソッド、
  • 重複、
  • ...

ツールはありますか?

0 投票する
1 に答える
272 参照

java - コマンドラインから Metrics2 プラグインを実行するには?

コマンド ラインからメトリクス プラグインを実行することは可能ですか。

Ant タスクには興味がありません。私が探しているのは、ファイル名をパラメーターとして渡すシェルスクリプトからこれを実行し、stdout で出力メトリックを取得することです

そうすることは可能ですか?

0 投票する
2 に答える
796 参照

java - CCNjava関数-現実的な制限となる可能性のあるものに関するガイドラインはありますか

メソッドのCCNを検出するためにjavancssを使用しています。ソースコードには、値が1から35まで変化するメソッドがあります(さらに大きい)。

現実的な限界となる可能性のあるガイドラインはありますか?ここの記事はいくつかのアイデアを提供します-http://java-metrics.com/cyclomatic-complexity/cyclomatic-complexity-what-is-it-and-why-should-you-care

私は10をソフト制限、15をハード制限と考えています。主な理由は、値が大きくなるとテストが複雑になるためです。

SOコミュニティからお聞きしたいのですが。

0 投票する
3 に答える
5493 参照

python - Python: コード統計

コードに関する統計を生成する Python ライブラリがあるかどうか知っていますか? パッケージを指して、クラス、関数、メソッド、docblock 行などの数を取得することを考えています。

最終的には、楽しみのために、ラムダの数やその他のクレイジーな統計などの役に立たないものを含めることができます。

0 投票する
3 に答える
139 参照

visual-studio - Visual Studio でコードを記述しているときに、不適切なコード メトリックを通知するツールはありますか?

たとえば、コードを書いている間 (たとえば、信号機の形で)、その場でコード メトリクスのステータスをプログラマに知らせることができる Visual Studio 用のツールはありますか?

0 投票する
2 に答える
320 参照

c - プリプロセッサ定義の関数としてのコード行

私が( Cで)取り組んでいるプロジェクトには、プリプロセッサディレクティブを使用して、コンパイル時の構成に基づいて含めたり省略したりできるコードのセクションがたくさんあります。

コアプロジェクトにさまざまな構成で追加または削除されるコードの行数を見積もることに興味があります。言い換えれば、どこかに数行#define#undef行を書いて、それがLOCカウントにどのように影響するかを理解したいと思います。

私はLOCカウンターに精通していませんが、大まかな検索からは、簡単に利用できるツールのほとんどがそれを行っているようには見えません。これは難しい問題ではないと思いますが、測定するのはかなり珍しい指標です。

私が探していることを実行する既存のツール、またはそれを自分で実行する簡単な方法はありますか?コメントや空白行を除外することも、非常に便利です。

0 投票する
2 に答える
441 参照

visual-studio-2008 - 循環的複雑度、クラス結合、コード行が減少したにもかかわらず、プロジェクトの保守性指数が低下するのはなぜですか?

私のC#プロジェクトの場合、リファクタリング後のコードメトリックデルタは次のとおりです。

  • 保守性指数:-4
  • 循環的複雑度:-48
  • 継承の深さ:0
  • クラス結合:-9
  • コード行:-85

式が次の場合、保守性指数が低下したのはなぜですか。

MI = MAX(0、(171-5.2 * ln(Halstead Volume)-0.23 *(循環的複雑度)-16.2 * ln(コード行))* 100/171)?

0 投票する
2 に答える
4362 参照

c# - メソッドの「継承の深さ」とはどういう意味ですか?

コード分​​析用の Visual Studio Power Tool と結果用のビューアーをインストールしました。ところで、素晴らしいツールです!

「ソリューションの分析」をクリックすると、結果が得られます。

  • 保守性
  • 循環的複雑度
  • 継承の深さ
  • クラスカップリング
  • コード行

クラスの各メソッドの「継承の深さ」の値が異なり、クラスの値が大きいことを除いて、これらすべての意味を理解しています。

これが何を言っているのか説明できる人はいますか?

0 投票する
4 に答える
2164 参照

continuous-integration - コード カバレッジはビルドごとに実行する必要がありますか?

私はブラウンフィールド アプリケーション開発の大ファンです。間違いなく素晴らしい本であり、世界中のすべての開発者にお勧めします。私がここにいるのは、コード カバレッジに関する本の要点に到達したからです。私の新しいショップでは、自動ビルド/継続的インテグレーションに Team City を使用しており、ビルドが完了するまでに約 40 分かかります。ブラウンフィールドの本は、摩擦のない開発と、開発者が耐えなければならない一般的な負担をどのように軽減したいかについて語っています。私が読んだのは130ページです。

「コード カバレッジ: 1 つの価格で 2 つのプロセス? リスト 5.2 のサンプル ターゲットからわかるように、最終的に 2 つの出力ファイルになります。1 つはテスト結果で、もう 1 つはコード カバレッジ結果です。これは、実際にこのタスク中にテストを実行しています。

コード カバレッジ タスクを実行している場合、技術的には別のタスクでテストを実行する必要はありません。このため、多くのチームはテスト タスクの代わりに自動化されたコード カバレッジ タスクを使用し、基本的に CI プロセスで両方のアクションを実行します。CI サーバーはコードをコンパイルしてテストし、チェックインごとにコード カバレッジ統計を生成します。

このアプローチに概念的な問題はありませんが、いくつかの欠点に注意してください。まず、コード カバレッジ統計の生成にはオーバーヘッドがあります。多くのテストがある場合、このオーバーヘッドは、長時間実行される自動ビルド スクリプトの形で摩擦を引き起こすのに十分なほど大きくなる可能性があります。メイン ビルド スクリプトは、チーム メンバーが頻繁に実行できるように、できるだけ速く実行する必要があることに注意してください。実行に時間がかかりすぎる場合、開発者が回避策を探していることがあります。

これらの理由から、ビルド スクリプトのデフォルト タスクとは別にコード カバレッジ タスクを実行することをお勧めします。これは定期的に実行する必要があります。おそらくビルド ファイル内で、隔週または月 1 回実行される別のスケジュールされたタスクとして実行する必要がありますが、チェックごとに実行することによる余分なオーバーヘッドを保証するほど、メトリクスには十分なメリットがあるとは思えません。の。"

これは、ビルドごとに NCover を実行する現在のショップでの慣行に反しています。私は主任に行き、これをしないように要求したいのですが、私にできる最善のことは、「これはブラウンフィールドの本が言っていることです」と彼に伝えることです. それだけでは十分ではないと思います。ですから、このトピックに関するあなたの個人的な経験とアドバイスを私に記入してくれることに頼っています. ありがとう。

0 投票する
3 に答える
166068 参照

java - IntelliJ IDEA を使用して未使用のコードをすべて見つける方法は?

私が.javaファイルにいるとき、未使用のコードは通常グレー表示されるか、緑色の下線が表示され、このコードはおそらく(おそらくいくつかの奇妙なJNI/リフレクションのコーナーケースのために)使用されないことを示しています。しかし、私はこのプロジェクトに何千ものJavaファイルを持っており、そのような未使用の可能性のあるコードのすべてのインスタンスを見つけたいと思っています。IntelliJ IDEA でそれを行うにはどうすればよいですか?