既存アーキテクチャの探索
依存関係とアーキテクチャを可視化
コードベースの要素がどう依存し合っているかを知ることは重要です。開発者として、レイヤーがどう相互作用すべきか、具象クラス間の依存を避けるためにインターフェースやイベントをどう作るかを考える時間を費やします。
コードベースが大きくなるにつれ、依存関係の管理と分析に多くの時間が費やされます。 このコードをリファクタリングすると全体的な影響は?このレイヤーはDBに直接アクセスしてよい?このメソッドを呼ぶとUIスレッドがフリーズする?
CppDependには効率的な依存関係管理を可能にするいくつかの機能があります。数秒で、クラスをリファクタリングした場合に影響を受けるコード部分を把握でき、レイヤー依存違反が誤って作成された場合に警告を受け、特定のサードパーティコンポーネントに依存しているコード部分を正確に特定し、特定のメソッドから到達可能なメソッドを一覧できます。

依存関係グラフ
この 依存関係グラフ コード要素の相互作用を視覚的に表現。開発者がコードベースの構造を一目で理解し、潜在的な問題を特定するのに役立ちます。
- ✓任意のメソッドや型の呼び出し元・先を可視化
- ✓プロジェクト、名前空間、クラスレベルで依存関係を探索
- ✓サイクルと強結合コンポーネントを特定
- ✓リファクタリング前に影響を評価

依存構造マトリクス
この 依存構造マトリクス(DSM) グラフ可視化を補完するコンパクトなマトリクスベースの依存関係ビューを提供。グラフが読みにくくなる大規模コードベースで特に有用。
- ✓すべての依存関係のコンパクトな表現
- ✓レイヤー違反とサイクルを一目で把握
- ✓大規模コードベースを効率的にナビゲーション
- ✓バージョン間で依存パターンを比較

レイヤー依存違反
CppDependは検出によってアーキテクチャ制約の強制を支援: レイヤー依存違反。レイヤーが依存すべきでない別のレイヤーにアクセスすると、CppDependが構造的問題になる前に違反をフラグ。
- ✓許可・禁止するレイヤー依存を定義
- ✓開発中の偶発的な違反を検出
- ✓依存関係グラフで違反パスを可視化

Code Quest統合
依存関係解析は完全に統合: Code Quest、プログラムで依存関係を探索するカスタムクエリを記述可能。依存データとメトリクス、コードルール、品質ゲートを組み合わせて強力な分析シナリオを実現。
- ✓Code Questで依存関係をクエリ
- ✓クエリ結果から依存関係グラフをエクスポート
- ✓依存関係制約のカスタムルールを作成
