演習 1.4: 構造上の問題の解決

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



ユーザー・シナリオ

特に循環依存関係についてコードを検査するために、設計者は、循環依存関係のみを検出する構造分析コード・レビューを実行します。このコード・レビューは一部の循環依存関係を検出し、即時修正が存在する場合は設計者に提示します。即時修正は、よくある検出結果を自動的に修正する方法として提供されています。コードをリファクタリングして循環を解消するには、設計者が循環依存関係に即時修正を適用します。

最後の演習では、設計者がコード・レビューを実行していずれかの検出結果を修正します。



演習

この演習では、以下の作業を行います。

  1. 構造分析コード・レビューを実行して循環依存関係を検出します。
  2. 循環依存関係に即時修正が提供されているかを確認します。
  3. 即時修正を適用して循環依存関係を解決します。
  4. 即時修正を適用したことを確認します。


循環依存関係を検査するコード・レビューの選択

循環依存関係を検査するコード・レビューを選択するには、以下のようにします。

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

  3. 「コード・レビューの選択」リストで、「構造分析コード・レビュー」をクリックします。
  4. 「構造分析」フォルダーを展開し、「循環依存関係」サブフォルダー以外をすべてクリアします。
  5. 「循環依存関係」サブフォルダーを展開し、コード・レビューで適用するルールを表示します (以下の画面取りを参照してください)。「OK」をクリックします。
  6. 「設定」ウィンドウ



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

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

コード・レビューの実行

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



検出された循環依存関係のリストの表示

コード・レビューは 4 つの循環依存関係を検出しました (次の画面取りを参照してください)。循環依存関係は望ましくないアンチ・パターンであり、避けるべきです。循環依存関係では、オブジェクトのグループが相互に接続されているため、いずれかのオブジェクトを変更すると他のすべてのオブジェクトに影響が及ぶ可能性があります。

コード・レビューでの検出結果。縮小表示のフォルダーが 1 つ

  1. 「構造分析: 循環依存関係」フォルダーを展開すると、以下の検出結果が表示されます (次の画面取りを参照してください)。
  2. コード・レビューでの検出結果。展開済みフォルダーが 1 つ

  3. リストの 3 番目の検出結果を右マウス・ボタンでクリックします。「即時修正」ポップアップ・メニューの選択項目は、解決策に応じて異なります。選択した循環依存関係に対する修正は、基本クラスから別のクラスに static フィールドを移動して循環依存関係を除去することです。
  4. 「即時修正: 基本クラスからの static フィールドの移動」をクリックします。
  5. 選択した検出結果に対する即時修正のポップアップ・メニュー



即時修正の適用

選択した循環依存関係に対する即時修正は、基本クラスから別のクラスに static フィールドを移動することです。フィールドは、既存のクラスか新規のクラスに移動できます。

フィールドを新規クラスに移動するには、以下のようにします。

  1. 次の画面取りのように、修正する循環依存関係 (交錯とも呼びます) に関する読み取り専用情報を確認します。
  2. 「新規 Java クラスの生成」をクリックし、以下のように入力します。
  3. コードの移動先クラスの指定

  4. 「プレビュー」をクリックし、即時修正が変更するコードを確認します。
  5. 「実行される変更」リストを展開し (以下の画面取りを参照)、即時修正で static フィールドを新規クラスに移動したときにコードに対して行われる変更の正確な内容を確認します。
  6. 実行する変更

  7. リストの 4 番目の変更 (Font.java で始まるもの) をクリックし、コードの横並びビューを表示します。元のコードは左側に、即時修正によって作成されるリファクタリング後のコードは右側に表示されます。
  8. 選択した変更に対する元のコードとリファクタリング後のコード

  9. 「OK」をクリックし、リストで選択したすべての変更に即時修正を適用します。
  10. 即時修正を適用すると確認用にチェックマークが表示され、問題が解決されたことが分かります。
  11. コード・レビュー。解決した検出結果の横にチェックマークが表示された状態

『演習 1.4: 構造上の問題の解決』は完了です。



即時修正機能の活用

即時修正は、コード・レビューでよく検出される一部の検出結果に対して提供されています。提供されている即時修正を適用することにより、循環依存関係検出結果を自動的に解決できます。以下のことが可能です。



演習 1.4 のまとめ

『演習 1.4: 構造上の問題の解決』は完了です。ここでは、以下の作業を行いました。

  1. 構造分析コード・レビューを実行して循環依存関係を検出しました。
  2. 循環依存関係に即時修正が提供されているかを確認しました。
  3. 即時修正を適用して循環依存関係を解決しました。
  4. 即時修正を適用したことを確認しました。

要約』に記載されている学習目標を確認してチュートリアルを完了します。



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