• Imagix 4D ユーザガイド
  • 目次

デルタ解析

ソフトウェアの開発中は、通常、コードの現在の最新バージョンまたはブランチに焦点を合わせます。 Imagix 4Dの機能の多くは、これを正確にサポートしています-その単一の最新のバリアントを理解、解析、チェック、文書化します。

しかし、ソフトウェアはすぐに登場するわけではなく、ソフトウェア開発はプロセスです。バージョンは前世代から進化しています。ブランチはソフトウェアを拡張して、新しい環境とさまざまなアプリケーションに対応します。カスタマイズにより、ソフトウェアスナップショットが過剰になります。これらのバージョンのコードの違いを解析することが重要になる場合があります。結果として得られる知識は、最新の変更が設計意図に適合していることを保証し、機能を確認し、欠落している更新を識別し、コードレビューをサポートし、テストアクティビティに集中するために不可欠です。

デルタ解析は、単なるファイルの差分としてではなく、構造レベルでソフトウェアのバージョン間の違いを識別します。あるバージョンまたは他のバージョンに固有のシンボルを識別し、両方に共通するシンボルの依存関係と使用法の変更も検出します。

Imagix 4Dのデルタ解析機能により、ソース管理システムで管理されているさまざまなソースコードバージョン、並列ディレクトリ構造に保持されている別々のソースファイルセット、またはさまざまなコンパイルオプションでコンパイルされたまったく同じコードを見ているかどうかにかかわらず、ソフトウェアの制御フローと全体的なアーキテクチャにおいて、意味のあるレベルでのソースコードの違いによる影響を理解できます。

データモデル

デルタ解析によって実行される構造解析は、制御フローの階層とアーキテクチャに最も焦点を当てたImagix 4Dの全体的なデータモデルの部分を適用します。 解析は、関数と変数の存在の変化、および呼び出しとオーバーライドの違い、それらの間の関係の読み取りと設定を示します。 Imagix 4Dの他の部分と同様に、シンボルは、クラス、名前空間、パッケージ、ファイル、最終的にはディレクトリのコンテナ階層内で追跡されます。

リビジョン管理

デルタ解析は、現在のプロジェクトと別のプロジェクトを構造的に比較する手法です。デルタ解析全体を通じて、この第2のプロジェクトは、その中に含まれるシンボルや関係性とともに、リビジョンとして参照されます。プロジェクトを作成および保存して、ソフトウェアのバージョン、ソースコードのブランチ、またはソフトウェアのビルド構成を表すプロジェクトを作成することで、コードの進化を調査するためにデルタ解析を適用することができます。

構造の差分の解析

ソフトウェアの制御フロー階層の変更を調査するためのツールは、Imagix 4Dにすでに存在する視覚化および解析機能の一部を拡張します。これらは、高レベルのアーキテクチャの比較から、制御フローの変更のより詳細なレポートとグラフィカルな解析、そして最後に基礎となるソースコードの違い自体の検査にまで及びます。

デルタグラフは、Imagix 4Dのグラフィカル解析機能を活用して、現在のプロジェクトと改訂プロジェクトを比較します。デルタ解析は、関数及び変数が関連する構造の変更に焦点を当てたグラフビューに相当します。これらのビューの範囲は、最高レベルのサブシステムアーキテクチャ図から、低レベルの変数付き関数呼び出しビューまでです。

デルタレポートは、バージョンの変更を体系的にレビューするために利用できます。デルタグラフと同様に、これらは詳細のレベルにわたります。プロジェクト全体のデルタ解析サマリーは、ファイルごとに、リビジョンと現在のプロジェクトの間で変更された関数や変数の存在、使用、または依存関係を特定します。

より詳細なデルタ解析レポートは、ファイルまたはクラスのレベルで利用できます。コンテキストに応じたメニューからアクセス可能で、レポートは使用状況や依存関係の具体的な変更を示します。これらのレポートは、ソースコードのレビューやテストケースの開発・洗練など、構造的で方法論的なアプローチが必要な活動に特に役立ちます。

デルタフローチャートは、制御フローの変更をより詳細に表示します。これにより、関数レベルでプログラムロジックが変更された場所が明らかになります。

Diffツールでは、現在のソースコードとリビジョンのソースコードを比較できます。 デルタ解析のほとんどは構造レベルの差分に焦点を合わせていますが、ソースコードの差分自体を調べると便利な場合があります。

これらのデルタ解析ディスプレイは、Imagix 4Dのその他のツールと同様に操作され、完全に統合されています。 たとえば、プロジェクトのリビジョンが読み込まれると、右マウスボタンのコンテキスト依存メニューには、通常のImagix 4Dツールと同様に、デルタグラフ、レポート、Diffツールにフォーカスする機能が含まれます。 また、アナライザーなどの機能が拡張され、デルタ解析に固有の解析クエリが含まれるようになりました。