20

プロジェクトでSonar分析を実行した後、7つの軸の1つに次のデータがあります(2番目の図を参照) 。このデータからどのような情報をデコードできますか?また、このデータは下の図のどの軸に関係していますか?

ここに画像の説明を入力してください

ここに画像の説明を入力してください

4

1 に答える 1

34

これは、パッケージとファイルの間に循環的な依存関係があることを意味します。

理想的には、依存関係が一方向に流れるようにする必要があります。これにより、変更を加えてその影響を予測できます。たとえば、「ユーザー インターフェース」パッケージが「ビジネス ロジック」パッケージに依存しているが、「ユーザー インターフェース」パッケージには何も依存していない場合、そのパッケージの外側を壊すことなくユーザー インターフェースを変更できるはずです。周期的な依存関係とは、(たとえば) ユーザー インターフェイス パッケージがビジネス ロジック パッケージに依存しているが、ビジネス ロジック パッケージもユーザー インターフェイス パッケージに依存していることを意味します。ユーザー インターフェイスを変更すると、ビジネス ロジック層が壊れる可能性があります。これは、ユーザー インターフェイスのまったく関係のないものに影響を与える可能性があります。

ソフトウェアを「階層化」し、依存関係をレイヤー間で一方向に流すという考え方は、このもつれを取り除くように設計されています。

クラスをあるパッケージから別のパッケージに移動することで、このもつれを軽減できることがよくあります。

もつれは通常、アーキテクチャ/設計の問題です。

于 2013-03-10T11:50:30.277 に答える