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

- 「コード・レビューの選択」リストで、「構造分析コード・レビュー」をクリックします。
- 「構造分析」フォルダーおよびサブフォルダーを展開し、コード・レビューで適用するルールを表示します (下記参照)。「OK」をクリックします。

レビューするコード・ベースの選択
レビューするコード・ベースとしてワークスペースを選択するには、以下のようにします。
- 「コード・レビュー」ビューのツールバーで、「レビュー」アイコン (
) > 「ワークスペースのレビュー」をクリックします。
コード・レビューの実行
レビューするコード・ベースを選択したら、コード・レビューを実行します。ビューの右下隅にある進行状況表示バーを確認すると、状況が分かります。
コード・レビューでの検出結果の表示
コード・レビューが完了すると、「コード・レビュー」ビューに検出結果が表示されます (以下の画面取りを参照してください)。

「コード・レビュー」ビューには以下の情報が表示されます。
- コード・レビューの統計: 検出結果の上の行に、最後に行ったコード・レビューに関する情報 (名前、有効範囲、含まれるルールとファイルの数、検出結果の数と重大度) が表示されます。
- コード・レビューでの検出結果: コード・レビューでの検出結果は、「コード・レビュー」ビューのフォルダーにリストされます。各フォルダー名には、コード・レビューの名前、および検出結果のカテゴリーと数が示されます。
コード・レビューでの検出結果に関する詳細情報の取得
コード・レビューでの検出結果に関する詳細情報を取得するには、以下のようにします。
- 「構造分析: 循環依存関係」フォルダーを展開します。4 つの検出結果が表示されます (以下の画面取りを参照してください)。

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

アイコンの横に電球 (
) がある場合は、その検出結果に対して即時修正が存在します。即時修正は、特定の検出結果に提供される自動的な解決策です。即時修正アイコンを以下の図に示します。

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

『演習 1.2: 構造分析コード・レビューの実行』は完了です。
コード・レビュー機能の活用
コード・レビューを事前に実行することにより、以下の問題が発生する前に、早期に問題点を特定して訂正できます。
- アプリケーションのパフォーマンス、保守、スケーラビリティーへの影響。
- 企業の資金、時間、リソースにおけるコストの上昇。
演習 1.4 は、コード・レビューの検出結果を修正することによって演習 1.2 で行った作業に基づいて行います。
演習 1.2 のまとめ
『演習 1.2: 構造分析コード・レビューの実行』は完了です。ここでは、以下の作業を行いました。
- 実行するコード・レビューを選択しました。
- コード・レビューで適用するルールを表示しました。
- レビューを実行するコードの本体を選択しました。
- コード・レビューを実行しました。
- コード・レビューの検出結果を表示しました。
- 検出結果を選択し、以下の情報を表示しました。
『演習 1.3: アーキテクチャー制御ルールの定義』に進んでください。