CppDepend
ホーム/ソリューション/ソフトウェアアーキテクト

構築と設計

ソフトウェアアーキテクトのためのCppDepend

依存関係グラフをマスターし、アーキテクチャルールを適用し、CQLinq で循環依存を防ぎます。

ソフトウェアアーキテクトのためのCppDepend

依存関係グラフの把握

アーキテクチャは依存関係の中に生きています。そして依存関係は PowerPoint ではなくコードの中にあります。CppDepend はビルドから直接、ライブでインタラクティブな依存関係グラフを生成します:プロジェクト、名前空間、クラス、メソッドがノード、使用関係が重み付きエッジです。

30,000 フィートの視点から単一のメソッド呼び出しまでズームできます。依存関係マトリクスは、千本の矢印より DSM の方が速く読める密なコードベースでグラフを補完します。

  • 実際のコードから生成されるグラフ — 常に最新、決して理想的ではない
  • 複数のレベル:アプリケーション、プロジェクト、名前空間、型、メソッド、フィールド
  • 予期しない結合を特定するための依存関係マトリクス(DSM)
  • 図をエクスポートしてチームと共有
詳細:依存関係グラフ →
依存関係グラフの把握
依存関係グラフ:プロジェクトからメソッドまでドリルダウン、比例サイズとエッジの重み付き。

アーキテクチャルールの適用

適用されないアーキテクチャは静かに侵食されます。CQLinq を使えば、設計上の決定 — レイヤリング、許可された依存関係、禁止 API、命名スキーム — を、分析のたびにチェックされる実行可能なルールに変換できます。

「UI コードは永続化層にアクセスしてはならない」「実装をインスタンス化できるのはファクトリのみ」といったルールを書けば、次のビルドで違反リストが得られます。CppDepend には、規約に合わせて調整できる数十の定義済みアーキテクチャルールが付属しています。

  • 数行の CQLinq でレイヤリングとコンポーネントのルールを表現
  • 一般的なアーキテクチャパターンの定義済みルール
  • ベースライン差分付きでコミットごとに報告される違反
  • 共有可能なルールファイルでコードとともにバージョン管理されるルール
CQLinq を学ぶ →
アーキテクチャルールの適用
CQLinq で書かれたアーキテクチャルール:レイヤリング違反を数秒で検出。

CQLinqで循環依存を防止

循環依存はソフトウェアアーキテクチャの原罪です:コードのテスト、再利用、分割を不可能にします。CppDepend はあらゆるレベル — コンポーネント、名前空間、クラス間 — でサイクルを検出し、それを断ち切るために削除すべき最小限のエッジのセットを示します。

さらに重要なことに、CQLinq ルールは新しいサイクルが現れた日にビルドを失敗させることができます。問題が1つの依存関係のうちに修正され、200個になる前に対処できます。

  • プロジェクト、名前空間、型間の自動サイクル検出
  • ビジュアルサイクルエクスプローラーが削除すべきエッジを提案
  • 品質ゲート:新しいサイクルでビルドを失敗させる
  • トレンドメトリクスでサイクル数の推移を追跡
機能:依存関係サイクル →
CQLinqで循環依存を防止
依存関係サイクルを検出・可視化 — 化石になる前に断ち切りましょう。

CppDepend があなたのコードで何を見つけるかご覧ください

無料トライアルをダウンロードして、数分で自分のコードベースの完全な分析を実行しましょう。

無料トライアルをダウンロード
← すべてのロールに戻る