41

次のコード メトリクスの計算に適したスコア範囲は?

  • 保守性指標
  • 循環的複雑度
  • 継承の深さ
  • クラスカップリング
4

2 に答える 2

65

理論的に最適な値は次のとおりです。

  • 保守性指数: 100。値が大きいほど保守性が高いことを示します。
  • 循環的複雑度: 1. コードがたどることができるさまざまなパスの数。
  • 継承の深さ: 1. インターフェイスを含まない、継承ツリー内のこのクラス定義より上のクラス定義の数。
  • クラス結合: 0。このエンティティが依存している他のエンティティの数。

いくつかの一般的なステートメントを作成することは可能ですが、厳密で速い「良い」範囲はありません。

  • メソッドごとの循環的複雑度が高いということは、メソッドが複雑になりすぎていることを示しています。
  • (フレームワークではなく、独自のクラスの) 継承の深さが約 3 または 4 を超える場合は、実際にはソフトウェアのドメインにない抽象的な関係を不必要に表現している可能性があるという問題の兆候です。
  • 一般的には、低クラスの結合の方が優れていますが、避けられない場合もあります。ここでは依存関係の理由がはるかに少ないため、可能な限り、名前空間間の依存関係を最小限に抑える必要があります。

プロジェクトは、本質的に何もせず役に立たないことによってのみ、4 つの価値すべてを同時に達成することができます。

したがって、すべての複雑さはトレードオフです。追加のいわゆる固有の複雑さは、より洗練された機能をプログラムにエンコードし、機能セットを拡張できるようにします。回避したいのは、貧弱または不十分な実装によってもたらされる偶発的な複雑さです。

于 2010-01-09T15:05:09.707 に答える