構築と設計
ソフトウェアアーキテクトのためのCppDepend
依存関係グラフをマスターし、アーキテクチャルールを適用し、CQLinq で循環依存を防ぎます。

依存関係グラフの把握
アーキテクチャは依存関係の中に生きています。そして依存関係は PowerPoint ではなくコードの中にあります。CppDepend はビルドから直接、ライブでインタラクティブな依存関係グラフを生成します:プロジェクト、名前空間、クラス、メソッドがノード、使用関係が重み付きエッジです。
30,000 フィートの視点から単一のメソッド呼び出しまでズームできます。依存関係マトリクスは、千本の矢印より DSM の方が速く読める密なコードベースでグラフを補完します。
- 実際のコードから生成されるグラフ — 常に最新、決して理想的ではない
- 複数のレベル:アプリケーション、プロジェクト、名前空間、型、メソッド、フィールド
- 予期しない結合を特定するための依存関係マトリクス(DSM)
- 図をエクスポートしてチームと共有

アーキテクチャルールの適用
適用されないアーキテクチャは静かに侵食されます。CQLinq を使えば、設計上の決定 — レイヤリング、許可された依存関係、禁止 API、命名スキーム — を、分析のたびにチェックされる実行可能なルールに変換できます。
「UI コードは永続化層にアクセスしてはならない」「実装をインスタンス化できるのはファクトリのみ」といったルールを書けば、次のビルドで違反リストが得られます。CppDepend には、規約に合わせて調整できる数十の定義済みアーキテクチャルールが付属しています。
- 数行の CQLinq でレイヤリングとコンポーネントのルールを表現
- 一般的なアーキテクチャパターンの定義済みルール
- ベースライン差分付きでコミットごとに報告される違反
- 共有可能なルールファイルでコードとともにバージョン管理されるルール

CQLinqで循環依存を防止
循環依存はソフトウェアアーキテクチャの原罪です:コードのテスト、再利用、分割を不可能にします。CppDepend はあらゆるレベル — コンポーネント、名前空間、クラス間 — でサイクルを検出し、それを断ち切るために削除すべき最小限のエッジのセットを示します。
さらに重要なことに、CQLinq ルールは新しいサイクルが現れた日にビルドを失敗させることができます。問題が1つの依存関係のうちに修正され、200個になる前に対処できます。
- プロジェクト、名前空間、型間の自動サイクル検出
- ビジュアルサイクルエクスプローラーが削除すべきエッジを提案
- 品質ゲート:新しいサイクルでビルドを失敗させる
- トレンドメトリクスでサイクル数の推移を追跡

CppDepend があなたのコードで何を見つけるかご覧ください
無料トライアルをダウンロードして、数分で自分のコードベースの完全な分析を実行しましょう。
