問題タブ [cyclomatic-complexity]

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 投票する
2 に答える
5500 参照

c# - 本番プロジェクトのコード メトリクス (C#、Visual Studio) の通常の値

コード メトリクスに関する質問がいくつかあります。特に目標値に関する質問があります。私が探しているのは、実際の制作プロジェクトで「通常の」ものです。多分それは私だけかもしれませんが、私がこれまでに取り組んだプロジェクトは、これらのことを念頭に置いていないので、ReSharper Code Issues または Visual Studio Code Metrics を実行すると、私が最初のプロジェクトのように思えます。そのため、値には常に驚かされます。

私の現在の SharePoint 割り当ての例:

では、問題は、「実際に」どのような値を通常目にするかということです。最適な値とベスト プラクティスはさておき、通常はどのような値が使用されますか?

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

sonarqube - ソナーのプロジェクトの最も複雑な方法をどのようにリストしますか?

Sonarでは、クラスのメソッドの平均的な複雑さでソートされたクラスのリストを作成できます(ダッシュボードからメソッドごとの複雑さをリストする場合)

しかし、プロジェクト全体で最も複雑なメソッドをどのようにリストしますか?

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

c# - 13 のイベント ハンドラー サブスクリプションを持つメソッドで循環的複雑度を 27 にする方法は?

次のようなコードがあります。

VS10 Ultimate のコード分析では、「27 の循環的複雑度」と表示されます。行の 1 つを削除すると、循環的複雑度は 25 になります。

分岐が行われていないのに、どうしてこれが可能なのでしょうか?

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

c# - 動的キーワードにより、VisualStudio2010コード分析で循環的複雑度>25が発生します

私はこれに似たコードを持っています:

例としてこれを作成しました。コード分析によると、そのコードの循環的複雑度は25です。

ILスパイでコードを分解すると、次のことがわかります。

私の質問は明らかに、elseとコンパイラによって生成されたロジックが複雑さを増している場合です。しかし、可能であれば、このレベルで動作せず、最初のコードスニペットとしてより単純なコード化(コンパイル前)ステージで評価するようにコード分析を構成するにはどうすればよいですか?

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

sonarqube - 「複雑さ」指標と「複雑さ/方法」指標の違い

Sonar では、特定の Java クラスについて、次のように表示されます。

これら 2 つの指標の違いをどのように説明できますか?

「複雑さ」はクラスの複雑さですか?

クラスの最大複雑度はどれくらいですか? メソッドの複雑さは 10 未満でなければならないことはわかっていますが、クラスが複雑でないと見なされるクラスの複雑さの最大数はいくつですか?

ありがとう。

編集

また、ファイル内の Cyclomatic-Complexity ルール違反も確認します。

多くの方法について、ソナーはさまざまな複雑さの数値で言います(フランス語で):

「La complexitécyclomatique de la classe est de 28 alors que le maximum autorisé est de 10.」

英語で :

「クラスの循環的複雑度は 28 ですが、許容される最大値は 10 です」。

「メソッドの循環的複雑度」のように見えるのに、「クラスの循環的複雑度」と表示される理由がわかりません。

また、問題のクラスは、平均的な複雑さ/メソッドによってソートされた最も複雑なクラスの上には表示されません。

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

java - Cyclometicの複雑さを減らすためのアプローチ

私は大きなJavaプロジェクト(モバイルアプリケーション)に取り組んでいますが、パフォーマンスが低い(複雑さが高い)ため、コードをレビューして最適化/リファクタリングするという「ありがたい」仕事に就きました。注:私はJavaにまったく慣れていません(私のバックグラウンドはC / C ++です)。したがって、ばかげた質問をお詫びします。私が最初にしたことは、Findbugsを使用して、報告されたすべての問題を修正することでした。その後、メトリックツールUnderstandを使用して、循環的複雑度の高いメソッドの概要を取得しました。残念ながら、2 ^ 20の範囲を超えるサイクロメティックな複雑さを持つメソッドがたくさんありました:-(そしてそれらの1つは、私がいくつかの助けや良いアイデアを必要とする場所です...

簡単な説明:サーバーとの通信では、データをシリアル化する必要があります。このモバイルフレームワークで使用できるシリアル化可能なインターフェイスはありません。したがって、すべてのコードを(単独で)作成した同僚は、と呼ばれる1つのメソッドを含むSerializableインターフェースを実装しましたtoByteArray()。例class Customer::

GPRSの会費を低く抑えるために、サーバーはthis.usage.valueに値を設定します。したがって、特定のプロパティのみがシリアル化されてサーバーに返送されます->送信されるメッセージは小さいです。このアプローチでは、クラス内のプロパティの量に応じて多くのif-caseが作成されるため、パス数はますます多くなります。それは美しい解決策ではないと思いますが、大丈夫です。変更したいのは、if-case内のシリアル化呼び出しです。現時点では、次のようになっています。

すべてのシリアル化を行う、より「一般的な」クラスを作成できるはずです。ここで、xyバイトをシリアル化すると、それだけです。しかし、私が理解していないのはtoByteArray()、文字列(UTF-16エンコーディング)や日付と時刻などの「特別な」メソッドについてはどうでしょうか。私がそれらをクラスに詰めるなら、それは良い解決策ですか?私はそれで何かを得ましたか?保守可能なコード?高性能コード?? あなたのアプローチは何ですか?

どうも

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

cyclomatic-complexity - 巡回数

私は McCabe の Cyclomatic 数を理解しようとしていますが、それが実際に何のためにあるのかを学びました。つまり、プログラムの複雑さを示すために使用されます。プログラムのソース コードを介して、線形に独立したパスの数を直接測定します。(ウィキペディアから読む)

しかし、それが実際に測定するソフトウェア エンティティと属性を知りたいのです。

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

path-finding - McCabe の複雑性メトリックと独立パス

上記のコードで、このフロー グラフ基本的な独立したパスのようなフロー グラフを描画すると、
パス 1: 1 2 3 10 11 12 13 19
パス 2: 1 2 3 10 11 12 13 14 15 18 13 19
パス 3: 1 2に従います。 3 10 11 12 13 14 15 16 17 15 18 13 19
パス 4: 1 2 3 4 5 9 3 10 11 12 13 19
パス 5: 1 2 3 4 5 6 8 5 9 3 10 11 12 13 14 15 16 17 15 18 13 19
パス 6: 1 2 3 4 5 6 7 8 5 9 3 10 11 12 13 14 15 16 17 15 18 13 19

したがって、ここでの質問は、指定されたコード パス 2、3、4 によるとテストできません (ループ内の「N」に注意してください)。では、基本セットで指定されている実際の実行パスがなくても大丈夫ですか?... または、マカベの複雑さのメトリックに従って、上記のコードを変更する必要があります。私の家庭教師は、コードを変更する必要があると言っていたので、構造化されていないループがあるのでコードを変更する必要があるとも言いました。(構造化されていないループも見当たりません) しかし、コードを変更すると、実際の出力が期待される出力と異なる可能性があると感じています。だから誰か説明してくれ

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

cyclomatic-complexity - 制御フロー グラフと循環的複雑度

このコードの制御フロー グラフと循環的複雑度を見つけて、いくつかのホワイト ボックス テスト ケースとブラック ボックス テスト ケースを提案する必要があります。しかし、コードの CFG を作成するのに問題があります。

テストケースについても助けていただければ幸いです。

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

ios - Xcode プロジェクトのソースの循環的複雑度を確認するにはどうすればよいですか?

大規模な Xcode プロジェクトの循環的複雑度を分析する必要があります。

Xcode プロジェクトに含まれるコードの循環的複雑度をチェックする簡単な方法を知っている人はいますか?

おそらく、xcode プロジェクトを読み取るように設定されたツールはありますか? 見つからないようです。