演習 1.2: コード・レビューの実行とクイック・フィックスの適用
この演習は、『演習 1.1: 必要なリソースのインポート』が完了していることを前提としています。 この演習では、最初にユーザー・シナリオをお読みください。次に、ユーザー・シナリオに説明されているソフトウェア開発者の役割を担います。
ユーザー・シナリオ
さまざまな地域に分散した開発者が 1 つの大規模なグループを形成し、新しいソフトウェア・アプリケーションをコーディングしています。 開発者はコードに対してコード・レビューを定期的に実行し、問題があるかどうかを検査する必要があります。
開発者の 1 人がコード・レビューを実行し、コードの動作状態を大まかに調べたいと思っています。作成された最新のコードをレビューし、いくつかの分野においてベスト・プラクティスに準拠しているかを評価するには、開発者は、自動即時コード・レビューを実行します。 このレビューでは、提供されているいくつかのカテゴリーのルールを、コードに適用します。 各カテゴリーのルールでは、パフォーマンスなど、特定の分野におけるコードの品質が検査されます。
コード・レビューが終了すると、検出結果のリストが表示されます。 それぞれの検出結果は、適用されたルールに厳密に準拠していないコードの文字列を表します。 検出結果の 1 つには使用可能なクイック・フィックスが存在するため、開発者は自動解決機能を適用して問題を即時に解決します。
演習の最初の部分では、以下の作業を実行して、コード・レビューを実行します。
- 実行するコード・レビューを選択する。
- コード・レビューに適用されているルールを表示する。
- レビューを実行するコードを選択する。
- コード・レビューを実行する。
- コード・レビューの検出結果を表示する。
- 検出結果を選択し、その検出結果についての以下の情報を確認する。
次に、コード・レビューの検出結果の 1 つにクイック・フィックスを適用するために、以下の作業を実行します。
- どのような場合にクイック・フィックスが検出結果に使用可能であるのかを認識する。
- クイック・フィックスがコードに適用する変更内容のリストを確認する。
- 元のコードおよびリファクタリングされたコードのプレビューを行ってから、クイック・フィックスを適用する。
- クイック・フィックスを適用して、コードをリファクタリングする。
- クイック・フィックスが適用された後に、確認を行う。
演習
コード・レビューの選択
即時コード・レビューを選択するには、以下の手順を実行します。
- 「コード・レビュー (Code Review)」ビューのツールバーで、「ルールの管理 (Manage Rules)」アイコン、
をクリックする。

- 「コード・レビューの選択 (Select Code Review)」リストで、「即時コード・レビュー (Quick Code Review)」をクリックする。 以下の画面取りに示されているように、選択したコード・レビュー用のルールのフォルダーが表示されます。

- コード・レビューで適用するルールの 1 つを確認するために、「J2SE ベスト・プラクティス (J2SE Best Practices)」フォルダーを展開してから、「ヌル (Null)」サブフォルダーを展開する。 以下の画面取りに示されているように、「ヌル (Null)」フォルダーに、問題の重大度レベルとともにルールが 1 つ表示されます。

復習のために、重大度レベル・アイコンが以下の図に示されています。

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

「コード・レビュー (Code Review)」ビューには、以下の情報が表示されます。
- コード・レビューの統計: 検出結果の上の行には、最新のコード・レビューに関する情報 (タイプ、有効範囲、対象ルールと対象ファイルの数、および検出結果の数と重大度) が表示されます。
- コード・レビュー検出結果: コード・レビューの検出結果は、フォルダー内の「コード・レビュー (Code Review)」ビューにリストされます。各フォルダー名には、適用されたルールのカテゴリーおよび検出結果の数が反映されます。
コード・レビュー検出結果の詳細情報の取得
コード・レビューの検出結果の詳細情報を取得するには、以下の手順を実行します。
- 「コード・レビュー (Code Review)」ビューで、「J2SE ベスト・プラクティス: 比較 (J2SE Best Practices: Comparison)」フォルダーにスクロールする。次に、以下の画面取りに示されているように、フォルダーを展開し、フォルダーにある検出結果を表示します。

- 最初の検出結果は、EqualsHashCode_Example.java で開始している。 以下のように、適用されたルールについては、この検出結果の後に注記があります。
常に java.lang.Object.equals() と java.lang.Object.hashCode() の両方をオーバーライドしてください。
- 最初の検出結果をダブルクリックする。 以下の要点と画面取りに概要が示されているように、検出結果の詳細が、2 つの場所にあります。
- ソース・コード: 検出が行われたコードを表示し、正確な場所を強調表示します。
- コード・レビューの詳細 (Code Review Details) ビュー: 検出結果の詳細を説明し、訂正するための例と解決策を表示します。

クイック・フィックスが存在する検出結果の選択
「ベスト・プラクティス: 比較 (Best Practices: Comparison)」フォルダー内の両方の検出結果にクイック・フィックスが存在することが、アイコンで判断できます。 復習のために、クイック・フィックス・アイコンが以下の図に示されています。

- 次の画面取りに示されているように、リスト内の最初の検出結果を右クリックする。
- 「クイック・フィックス (Quick Fix)」ポップアップ・メニューの選択項目は、解決策によって異なる。 選択した検出結果の場合、フィックスは hashCode と equals をインプリメントすることです。

- 「クイック・フィックス: hashCode と equals のインプリメント (Quick Fix: Implement hashCode and equals)」をクリックする。
クイック・フィックスの適用
選択した検出結果のクイック・フィックスは、hashCode と equals をインプリメントすることです。
クイック・フィックスについて検討し、検出結果に適用するには、以下の手順を実行します。
- 以下の画面取りに示されているように、コードが並んで表示されている。 元のソース・コードが左側にあり、クイック・フィックスが作成するリファクタリングされたソース・コードが右側にあります。 クイック・フィックスを適用する場合、クイック・フィックスによって、強調表示された欠落しているコードの行が追加されます。

- 以下の画面取りに示されているように、「実行する変更内容 (Changes to be performed)」セクションでリストを展開し、クイック・フィックスにより変更されるものと変更方法を厳密に確認する。

- リストにある変更内容を検討する。 「OK」をクリックして、リスト内で選択したすべての変更内容にクイック・フィックスを適用します。
- クイック・フィックスの適用後に、解決した検出結果の横にチェック・マークが表示される。

チェック・マークの横に、以下の情報が表示されます。
- 適用したクイック・フィックス
- 検出結果が存在するソース・コード内の行番号
- 準拠されなかったコード・レビューのルール
『演習: コード・レビューの実行とクイック・フィックスの適用』が完了しました。
演習の要約
『演習: コード・レビューの実行とクイック・フィックスの適用』にある、すべての作業を実行しました。
コード・レビュー実行時の作業
このコード・レビューの実行時には、以下の作業を実行しました。
- 実行するコード・レビューの選択
- コード・レビューで適用されるルールの表示
- レビューを実行するコードの本文の選択
- コード・レビューの実行
- コード・レビューの検出結果の表示
- 検出結果の選択とその検出結果についての以下の情報の確認
クイック・フィックス適用時の作業
クイック・フィックスの適用時に、次の一連の作業を実行しました。
- どのような場合にクイック・フィックスが検出結果に使用可能であるのかの認識
- クイック・フィックスがコードに適用する変更内容のリストの確認
- 元のコードとリファクタリングされたコードのプレビュー
- コードをリファクタリングするためのクイック・フィックスの適用
- クイック・フィックスが適用されたことの確認
コード・レビュー機能の利用
積極的にコード・レビューを実行することで、検出結果を早期に分析できます。 つまり、以下のような問題が発生する前に、早期に問題に対処することもできます。
- アプリケーションのパフォーマンス、保守、またはスケーラビリティーに影響を及ぼす問題
- 会社の経費、時間、およびリソースを必要とする問題
クイック・フィックス機能の利用
提供されているクイック・フィックスを適用することで、共通の検出結果を自動的に解決できます。クイック・フィックスは、以下の点で役立ちます。
- 毎回問題を一貫性のある方法で訂正する
- コード化に専念でき、バグ修正の時間が削減される
『要約: コード・レビューの実行』にある学習目標を復習し、チュートリアルを終了してください。