問題タブ [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 投票する
1 に答える
194 参照

java - xUnit テスト パターンでコード メトリックを取得するために使用されるツールは?

Gerard Meszaros による xUnit Test Patternsを読んでいます。

ページの 1 つで、彼はいくつかのソフトウェア メトリックについて言及しています。

65 文字に保つために行を折り返す必要があるため、このコードは実際よりも長く見えますが、それでも不必要に長くなります。これには、初期化された宣言、6 行の制御ステートメント、4 つのインライン コメント、およびテスト メソッドを宣言する 2 行を含む 25 の実行可能なステートメントが含まれており、合計 37 行のラップされていないソース コードが得られます。

これらの指標を見つけるためにステートメントを数えることはできませんが、特定のツールを使用して指標を計算したかどうかは誰にもわかりませんか?

(同様のメトリクスをカウントするツールの提案があれば、Java、Javascript、および C++ で動作するツールを探しています)

ありがとう!

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

notepad++ - PHP のコード メトリクス - Notepad++

特に、コードの行数を知りたいのですが、これは多くのファイルにまたがっています。

私はメモ帳++を使用してコードを作成しており、ファイルごとに行番号を表示していますが、もちろん、コードを読みやすくするために空のリターンがあります.

実際のコード行を正確に取得できるプラグインまたはツールを知っている人はいますか?

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

code-metrics - 良いコード測定ツール?

利用可能な優れたコード測定ツールはありますか?

コード測定は非常に便利で興味深いものでしたが、測定ツールを使用するだけで年間1,000ドルを支払うことはできないと思います。

私はある/できるツールがあるかもしれないと想像します

  • オープンソースソフトウェア
  • 言語に依存しない
  • OSに依存しない
  • さまざまなカテゴリの指標を測定します:LOC、空白行のないLOC、関数の数..。
0 投票する
2 に答える
289 参照

winforms - コードの保守性を向上させるためのWinFormsMenuStripの分離

Windowsフォームでは、C#、. NET 3.5、VS2008 .. ..

MenuStrip(または任意の複雑なコントロールグループ)のコードとその子メニュー項目をフォームの他の部分から分離するための良い方法は何ですか?

たとえば、多数のメニューを含むMenuStripがあり、各メニューに多数のメニュー項目があり、すべてにクリックイベントがある場合、Form.Desinger.csファイルとForm.csの両方に大量のコードが吐き出されます。ファイル。これは技術的には問題を引き起こしませんが、(フォーム内の他のすべてのものと一緒に)すべてを1つの場所にダンプするのは間違っていると感じます。

プロジェクト全体でコードメトリクスを実行すると、フォームには、プロジェクトファイルの中で最悪の保守性インデックスがあるというフラグが立てられます。通常、私はコードメトリクスツールの方向性に注意を払うことについてあまり独断的ではありませんが、この場合、私は完全に同意します。

コードメトリクスによると、フォームは次のベストプラクティスに違反しています。

  1. クラス結合が多すぎます
  2. コードの行が多すぎます
  3. 全体的に保守性が低い

MenuStripをフォームの残りの部分から分離するための可能な解決策:

  1. UserControlに詰め込みます
  2. 他のアイデア?
0 投票する
1 に答える
219 参照

c# - VS 2010 のメトリック シェーダー

VS 2010 用の Metric Shader タイプのプラグインを見つけた人はいますか? Dev Express DXCore のプラグインである VS 2008 で非常に優れたプラグインを使用していました。

メトリック シェーダー

しかし、VS 2010 では機能しません。これは、リファクタリング中に非常に便利なツールであることがわかり、2010 で本当に気に入りました。

ありがとう!

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

language-agnostic - ケーススタディによるコードメトリクスのサポート

私は主に、コードの可読性を欠陥の削減に関連付けるコード メトリクスのケース スタディに興味があります。ウィキペディアには次の例があります。

モジュールに含まれる欠陥の数に対する循環的複雑度の相関関係は、多くの研究で調査されています。そのような研究のほとんどは、循環的複雑さと欠陥との間に強い正の相関があることを発見しています。最も複雑なモジュールには、最も多くの欠陥も含まれる傾向があります。たとえば、メトリック監視ソフトウェアのサプライヤである Enerjy による 2008 年の調査では、オープンソースの Java アプリケーションのクラスを分析し、それらのアプリケーションで障害が検出される頻度に基づいて 2 つのセットに分類しました。彼らは、循環的複雑度とその欠陥性との間に強い相関関係があることを発見しました。複合複雑度が 11 のクラスが欠陥を起こしやすい確率はわずか 0.28 で、複雑度が 74 のクラスでは 0.98 に上昇しました。

これは良いことですが、他にも研究があるかどうか知りたいです (または、SLOC などの他の指標について同様の研究があるかもしれません)。

CC 値の監視を促進するIBMの記事も見つけましたが、ROI の数値を示すケーススタディのサポートがありません。次に、「矢印コード」に関するコーディング ホラーの記事があります。これは、ケース スタディの概要を示していますが、ケース スタディ自体も、結論を正当化した実際の数値も提供していません。

調査によると、プログラムの循環的複雑度とエラー頻度との間に相関関係があることが示されています。サイクロマティックな複雑度が低いと、プログラムが理解しやすくなり、より複雑なプログラムよりもリスクが低く変更しやすいことを示します。モジュールの循環的複雑度も、そのテスト可能性の強力な指標です。

確かに循環的複雑度 (CC) はアローコードの特定に役立ちますが、ROI 値を示すケーススタディが必要です。たとえば、「組織 X はメソッド/機能に最大 10 の CC を組み込み、次の開発イテレーションで欠陥を 20% 削減しました。」

この種のデータがなければ、経営陣に注意を向けさせるのは困難です。誰かが私にいくつかの難しい研究を教えてもらえますか? 一人でも助かる…

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

visual-studio-2010 - vs2010コードメトリックの拡張/拡張ポイントはどこにありますか?

2010の静的コード分析メトリックを拡張したいと思います(ほとんどの場合、ロールアップが合計ではなく最大になるように修正します)。拡張ポイントはどこにありますか?それはどこかのMEFコンポーネントですか?

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

visual-studio-2010 - 関数レベルでのVisualStudio2010コードメトリック

私のプロジェクトでコードメトリクスの計算を実行しましたが、プロジェクト内の各名前空間/クラスの結果が表示されています。機能レベルでの結果を見たいのですが。フィルタでさえ、クラスレベルで機能します。これを行う方法はありますか?たとえば、循環的複雑度が10を超える関数、または20行を超える関数を確認したいと思います。ありがとう!

-シェーン

0 投票する
13 に答える
16722 参照

code-metrics - SLOC (コードのソース行) は指標としてどれくらい悪いですか?

ソフトウェア開発プロセスを文書化しています。技術者にとって、これは非常に簡単です。内部のマイルストーンは 4 週間ごと、外部のマイルストーンは 3 か月ごとの反復開発です。

ただし、この演習の目的は、プロジェクト管理者が理解できる用語で物事を明らかにすることです。具体的には、これらの非技術系マネージャーは、理解できる指標を必要としています。

私はメトリクスのオプションをよく理解しており、一連のセット全体を提案しています (要件が満たされ、実際のコストと予算コストが私のお気に入りの 2 つです)。ただし、私たちには何人かのベテランが関与しており、彼らは SLOC のようなメトリックに固執する傾向があります。

SLOC の魅力は理解できます。ソフトウェアに詳しくない人でも簡単に理解でき、物理的なものに最も近いアナログのように思えます (昔のパンチ カードを数えるようなものです!)。

ここで質問があります。SLOC の危険性を技術者ではない人にどのように説明すればよいでしょうか?

具体的な動機は次のとおりです。私たちは、何年にもわたる歴史を持つ、かなり成熟したデプロイ済みシステムに取り組んでいます。機能を追加すると、SLOC はほぼ横ばいになるか、減少する傾向があります (リファクタリングにより古いコードやデッド コードが削除され、新しい機能は実際には既存の機能の調整にすぎません)。プログラマー以外のマネージャーにとって、開発プロジェクトで増加しない SLOC は、せいぜい当惑するだけです....

以下の最近の回答に応じて明確にします: プロジェクトの進捗状況を測定する目的では、SLOC は不適切な指標であると主張していることを思い出してください。収集する価値のない数字だと主張しているわけではありません。有用なことを行うには広範なコンテキストが必要ですが、ほとんどのプログラム マネージャーはそのコンテキストを持っていません。

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

visual-studio - Visual Studio コード分析/メトリクス ツール

NDepend の試用版をダウンロードしました。私が探しているのは、コードの標準化に役立つツールです。中括弧、スペース、命名規則などのスタイルだけでなく、まとまりと複雑さにおいても。

結束力と複雑さをビルドエラーに統合できるかどうかを教えてくれる人はいますか(たとえば、複雑さがnより大きい場合はエラーになります)??? NDepend の結果を解析する独自の xml リーダーを書き始める前に、これがツールに統合されているかどうかを知りたいです。

Visual Studio 2008 の一部のバージョンにはこれらのメトリックがあることは知っていますが、NDepened には Visual Studio のバージョンとは別にそれがあるようです。他にお勧めのツールはありますか???

ありがとう!