演習 1.2: 構造分析コード・レビューの実行
この演習は、『演習 1.1: 必要なリソースのインポート』が完了していることを前提としています。演習 1.2 では、最初にユーザー・シナリオをお読みください。 次に、ユーザー・シナリオに説明されているソフトウェア設計者の役割を担い、演習 1.1 でインポートしたプロジェクトを使用して、演習を実行します。
ユーザー・シナリオ
設計者が作成された最新のコードをレビューし、コードの品質を評価するには、一般的なアンチパターンを見つけます。 アンチパターン は、コードで発生し、ベスト・プラクティスに従わない既知の問題です。 設計パターンが従うべき優良なモデルであるのに対し、アンチパターンは回避すべき粗悪なモデルです。以下のタイプの、いくつかの特定のアンチパターンがあります。
- ブレーカブル: コード内のオブジェクトに非常に多くの依存関係が存在するため、別のオブジェクトが変更されると、壊れる可能性があります。
- 循環依存関係: オブジェクトのグループの相互接続度が高く、循環することが多いため、1 つのオブジェクトを変更すると、他のすべてのオブジェクトが影響を受ける可能性があります。交錯とも呼ばれます。
- ハブ: オブジェクトに、多くの依存関係と多くの依存の両方が存在します。このオブジェクトは、別のオブジェクトが変更された場合に影響を受けます。同様に、このオブジェクトが変更されると、他のオブジェクトが影響を受けます。
最初の演習では、設計者はコード・レビューを実行して、上記のアンチパターンを見つけます。
演習
この演習では、以下の作業を実行します。
- 実行するコード・レビューを選択する。
- コード・レビューに適用されているルールを表示する。
- レビューを実行するコードを選択する。
- コード・レビューを実行する。
- コード・レビューの検出結果を表示する。
- 検出結果を選択し、その検出結果についての以下の情報を確認する。
コード・レビューの選択
構造分析コード・レビューを選択するには、以下の手順を実行します。
- 「コード・レビュー (Code Review)」ビューのツールバーで、「ルールの管理 (Manage Rules)」アイコン、
をクリックする。

- 「コード・レビューの選択 (Select Code Review)」リストで、「構造分析コード・レビュー (Structural Analysis Code Review)」をクリックする。
- 以下に示されているように、「構造分析 (Structural Analysis)」 フォルダーおよびサブフォルダーを展開し、コード・レビューで適用されるルールを確認する。 「OK」をクリックします。

レビューを実行するコード・ベースの選択
レビューを実行するコード・ベースとしてワークスペースを選択するには、以下の手順を実行します。
- 「コード・レビュー (Code Review)」ビューのツールバーで、「レビュー (Review)」アイコン (
) >「ワークスペースのレビュー (Review Workspace)」の順にクリックする。
コード・レビューの実行
レビューを実行するコード・ベースを選択した後で、コード・レビューを実行します。 ビューの右下隅にある進行状況表示バーを確認することで、状況を追跡できます。
コード・レビュー検出結果の表示
以下の画面取りに示されているように、コード・レビューが終了すると、「コード・レビュー (Code Review)」ビューに検出結果が表示されます。

以下の情報が、「コード・レビュー (Code Review)」ビューに表示されます。
- コード・レビューの統計: 検出結果の上の行には、最新のコード・レビューの情報 (名前、有効範囲、対象ルールと対象ファイルの数、および検出結果の数と重大度) が表示されます。
- コード・レビュー検出結果: コード・レビューの検出結果は、フォルダー内の「コード・レビュー (Code Review)」ビューにリストされます。各フォルダー名には、コード・レビュー名、および検出結果のカテゴリーと数が反映されます。
コード・レビュー検出結果の詳細情報の取得
コード・レビューの検出結果の詳細情報を取得するには、以下の手順を実行します。
- 「構造分析: 循環依存関係 (Structural Analysis: Cyclic Dependency)」フォルダーを展開する。 以下の画面取りに示されているように、4 つの検索結果があります。

各検出結果の前には、重大度レベルを示すアイコンがあります。

アイコンの横に電球がある場合は (
)、検出結果にクイック・フィックスが存在することを示します。 クイック・フィックスは、特定の検出結果のための、提供されている自動解決機能です。クイック・フィックス・アイコンは、以下の図に示されています。

- Event.java で開始する検出結果をダブルクリックする。 以下の要点と画面取りに概要が示されているように、検出結果の詳細が、2 つの場所にあります。
- ソース・コード: 検出が行われたコードを表示し、正確な場所を強調表示します。
- コード・レビューの詳細 (Code Review Details) ビュー: 検出結果の詳細を説明し、訂正するための例と解決策を表示します。 検出結果が循環依存関係の場合は、ループの詳細についてのセクションもあります。

『演習 1.2: 構造分析コード・レビューの実行』が完了しました。
コード・レビュー機能の利用
コード・レビューを積極的に実行することで問題を早期に発見できるため、以下のような問題が発生する前に問題を早期に訂正することもできます。
- アプリケーションのパフォーマンス、保守、またはスケーラビリティーに影響を及ぼす問題
- 会社の経費、時間、およびリソースを必要とする問題
演習 1.4 では、コード・レビュー検出結果を修正し、演習 1.2 に基づく作業をさらに進めます。
演習 1.2 の要約
『演習 1.2: 構造分析コード・レビューの実行』が完了しました。演習 1.2 では、以下の作業を実行しました。
- 実行するコード・レビューを選択する
- コード・レビューに適用されているルールを表示する
- レビューを実行するコードの本文を選択する
- コード・レビューを実行する
- コード・レビューの検出結果を表示する
- 検出結果を選択し、その検出結果について以下の情報を確認する
これで、『演習 1.3: アーキテクチャー制御ルールの定義』の開始準備ができました。