DSM の使用を開始したいのですが、開始方法がわかりません。
適切な依存関係マトリックスとはどのようなもので、その理由は? それはどのように機能しますか?
DSM の使用を開始したいのですが、開始方法がわかりません。
適切な依存関係マトリックスとはどのようなもので、その理由は? それはどのように機能しますか?
このブログ記事「Identify Code Structure Patterns with No Effort」では、依存構造マトリックスを使用してコード構造パターンを識別する方法が説明されています。スクリーンショットは、ツール NDependの依存関係構造マトリックスを使用して作成されています。以下にいくつかのパターンを示します。
階層化されたコード (サイクルのないコード、確かに DSM が一目でわかる最もクールなもの)
依存サイクルのあるコード
高凝集・低結合
ハングリーコーラー
人気のある呼び出し先
相互結合
データ オブジェクト
Erik Dörnenburg は、グラフの配置によって構造上の問題がどのように明らかになるかについてのいくつかの良い例を含め、私が見た中で最も優れた説明を提供しています。簡単に言うと:
サブシステムを X 軸と Y 軸に同じ順序でリストします。斜めに「お」をマーク。それ自体に依存するサブシステムはあまり意味がありません。マトリックスを垂直に下ります。そのサブシステムが対応する水平サブシステムに依存している場合は、X をマークします。
優れたものは、サブシステムを再配置して、優れたリファクタリングにつながる可能性のあるパターンを示します。
手元に一つも無いけど。ごめん。
DSM の最も重要な機能の 1 つは、プロジェクト間やパッケージ間などのサイクルを検出することです。マトリックスの右上にサイクルが表示されます。詳細については、このページを参照してください: http://docs.codehaus.org/display/SONAR/Dependency+Structure+Matrix