演習 1.2: コード・レビューの実行と即時修正の適用

この演習では、『演習 1.1: 必要なリソースのインポート』を完了していることを想定としています。この演習では、最初にユーザー・シナリオを読みます。次に、ユーザー・シナリオで説明しているソフトウェア開発者の役割を想定します。



ユーザー・シナリオ

広い地域に分散した大規模な開発者のグループが、新しいソフトウェア・アプリケーションをコーディングしています。開発者が定期的にコード・レビューを実行してコードに問題がないことを確認することが重要です。

1 人の開発者がコード・レビューを実行し、自分の一般的なコーディング方法を確認するとします。新規に作成したコードをレビューしていくつかの領域でベスト・プラクティスに従っているかどうかを評価するには、開発者は、自動即時コード・レビューを実行します。このレビューは、提供されるルールのうち、いくつかのカテゴリーをコードに適用します。ルールの各カテゴリーでは、特定の領域 (パフォーマンスなど) についてコードの品質を検査します。

コード・レビューが完了したら、検出結果のリストを確認します。各検出結果は、適用したルールに厳密に従っていないコードのストリングを表します。検出結果には即時修正が適用可能なものもあるため、開発者は、自動化された解決策を適用して問題をただちに訂正します。

演習の最初の部分では、以下の作業を行ってコード・レビューを実行します。

  1. 実行するコード・レビューを選択します。
  2. コード・レビューで適用するルールを表示します。
  3. レビューを実行するコードを選択します。
  4. コード・レビューを実行します。
  5. コード・レビューの検出結果を表示します。
  6. 検出結果を選択し、以下の情報を表示します。

次に、コード・レビューの特定の検出結果に即時修正を適用するために、以下の作業を行います。

  1. 検出結果に対して即時修正が使用可能かを確認します。
  2. 即時修正でコードに対して行われる変更のリストを確認します。
  3. 即時修正を適用する前に、元のコードとリファクタリング後のコードをプレビューします。
  4. 即時修正を適用し、コードをリファクタリングします。
  5. 即時修正を適用した後の状態を確認します。


演習

コード・レビューの選択

即時コード・レビューを選択するには、以下のようにします。

  1. 「コード・レビュー」ビューのツールバーで、「ルールの管理」アイコン テキスト をクリックします。
  2. コード・レビュー・ビュー

  3. 「コード・レビューの選択」リストで、「即時コード・レビュー」をクリックします。選択したコード・レビューのルールのフォルダーが表示されます (以下の画面取りを参照してください)。
  4. 「設定」ウィンドウ。「即時コード・レビュー」を選択した状態

  5. コード・レビューで適用するルールを表示するために、「J2SE ベスト・プラクティス」フォルダーを展開し、「ヌル」サブフォルダーを展開します。「ヌル」フォルダーに、ルールと問題の重大度レベルが表示されます (以下の画面取りを参照してください)。
  6. 「設定」ウィンドウ。「J2SE ベスト・プラクティス」カテゴリーで「比較」フォルダーを展開した状態

    参考のために、重大度レベル・アイコンを以下の図に示します。

    テキスト

  7. 「OK」をクリックし、「即時コード・レビュー」を選択します。


レビューするコード・ベースの選択

レビューするコード・ベースとしてプロジェクトを選択するには、以下のようにします。



コード・レビューの実行

レビューするコード・ベースを選択したら、コード・レビューを実行します。ビューの右下隅にある進行状況表示バーを確認すると、状況が分かります。



コード・レビューでの検出結果の表示

コード・レビューが完了すると、「コード・レビュー」ビューに検出結果が表示されます (以下の画面取りを参照してください)。

コード・レビューでの検出結果 (縮小表示)

「コード・レビュー」ビューには、以下の情報が表示されます。



コード・レビューでの検出結果に関する詳細情報の取得

コード・レビューでの検出結果に関する詳細情報を取得するには、以下のようにします。

  1. 「コード・レビュー」ビューで、「J2SE ベスト・プラクティス: 比較」フォルダーにスクロールします。次に、フォルダーを展開してフォルダー内の検出結果を表示します (以下の画面取りを参照してください)。
  2. コード・レビューでの検出結果。「J2SE ベスト・プラクティス」カテゴリーの「比較」フォルダーを展開した状態

  3. 最初の検出結果は EqualsHashCode_Example.java で始まっています。以下のように適用されたルールがその後に示されます。
  4. java.lang.Object.equals() と java.lang.Object.hashCode() の両方を常に指定変更する

  5. 最初の検出結果をダブルクリックします。詳細が 2 箇所に表示されます。概要および画面取りは以下のとおりです。
  6. 選択したコード・レビューの検出結果の詳細。



即時修正がある検出結果の選択

「ベスト・プラクティス: 比較」フォルダーの検出結果には、いずれも即時修正があることがアイコンで分かります。参考のために、即時修正アイコンを以下の図に示します。

テキスト

  1. リストの最初の検出結果を右マウス・ボタンでクリックします (次の画面取りを参照してください)。
  2. 「即時修正」ポップアップ・メニューの選択項目は、解決策によって異なります。ここで選択した検出結果では、修正内容は hashCode および equals の実装です。
  3. 「即時修正」ポップアップ・メニュー

  4. 「即時修正: hashCode および equals の実装」をクリックします。


即時修正の適用

ここで選択した検出結果に対する即時修正は、hashCode および equals の実装です。

検出結果に対する即時修正を確認して適用するには、以下のようにします。

  1. コードの横並びビューを表示します (以下の画面取りを参照してください)。元のソース・コードは左側に、即時修正によって作成されるリファクタリング後のソース・コードは右側に表示されます。即時修正の適用を選択すると、強調表示されているコードに欠落している行が付加されます。
  2. 即時修正での変更の縮小リスト。元のコードとリファクタリング後のコードが表示された状態

  3. 「実行される変更」セクションでリストを展開し、即時修正による変更内容および変更方法を確認します (以下の画面取りを参照してください)。
  4. 即時修正での変更のリストを展開した状態

  5. リストの変更を検討します。次に「OK」をクリックし、リストで選択したすべての変更に即時修正を適用します。
  6. 即時修正を適用すると、解決した検出結果の横にチェックマークが表示されます。
  7. コード・レビューでの検出結果 (チェックマーク付き)

    チェックマークの横には以下の情報が表示されます。

『演習: コード・レビューの実行と即時修正の適用』は完了です。



演習のまとめ

『演習: コード・レビューの実行と即時修正の適用』の作業をすべて完了しました。

コード・レビューを実行するための作業

このコード・レビューを実行するときには、以下の作業を行いました。

  1. 実行するコード・レビューを選択しました。
  2. コード・レビューで適用するルールを表示しました。
  3. レビューを実行するコードの本体を選択しました。
  4. コード・レビューを実行しました。
  5. コード・レビューの検出結果を表示しました。
  6. 検出結果を選択し、以下の情報を表示しました。


即時修正を適用するための作業

即時修正を適用するときには、次の一連の作業を行いました。

  1. 検出結果に対して即時修正が使用可能かを確認しました。
  2. 即時修正でコードに対して行われる変更のリストを確認しました。
  3. 元のコードとリファクタリング後のコードをプレビューしました。
  4. 即時修正を適用し、コードをリファクタリングしました。
  5. 即時修正を適用したことを確認しました。


コード・レビュー機能の活用

コード・レビューを事前に実行することにより、早期に検出結果を分析できます。つまり、以下の問題が発生する前に早期に対策をとることができます。



即時修正機能の活用

提供されている即時修正を適用することにより、よくある検出結果を自動的に解決できます。即時修正は以下の方法で支援を行います。

要約: コード・レビューの実行』に記載されている学習目標を確認してチュートリアルを終了します。



ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved.