コード・レビュー - リリース情報


1.0 既知の問題
   1.1 ユーザー定義の規則に説明と例を含めることはできない
   1.2 コード・レビュー詳細ビューから一致が削除されていることがある
   1.3 構造分析クイック・フィックスの新規クラスを作成できない
   1.4 一部のパッケージのソースが検討されない
   1.5 行番号が必ずしも表示されない
   1.6 JSDK または J2EE クラスからの内部データ変数がデータ・フロー・パスに表示されるべきでない
   1.7 「設計原則/複合度」規則で深さを負の値に設定できる
   1.8 US ASCII 以外の文字をパラメーターに使用して規則を作成したときエンコードの問題が発生する
   1.9 構造分析規則の進行状況が正しく報告されない
   1.10 メイン・ビューの開始/停止ボタンが混合アイコンになる
   1.11 「ロケール依存ストリングの比較に java.lang.String.compareTo () の使用を回避する」のクイック・フィックスが誤った解決策を提案する
   1.12 J2EE 規則テンプレート「[method B] の後 [method A] を常時呼び出し」の一部のインスタンス生成に問題
   1.13 J2EE テンプレート規則「[methodB] の後 [methodA] を常時呼び出し」に潜在的な問題
   1.14 ユーザー定義の「メソッドの定義を回避する」の規則で偽の肯定
   1.15 メソッドを指定するテンプレートがメソッド名を入力すると機能しない
   1.16 サーバー・データを構成しようとするとエラー注意ウィンドウが表示される

1.0 既知の問題

1.1 ユーザー定義の規則に説明と例を含めることはできない

ルール・テンプレートを使用してユーザー定義の規則を作成する場合は、説明と例を含めることはきできません。

1.2 コード・レビュー詳細ビューから一致が削除されていることがある

巡回依存関係カテゴリーの規則で検索された一致を取り消すと、一致はコード・レビュー詳細ビューから削除されます。一致は削除されるべきではなく、「未解決」のステータスに変更されるべきです。この問題を回避するには、巡回依存関係カテゴリーの規則を選択し、ワークスペースの分析を実行します。

1.3 構造分析クイック・フィックスの新規クラスを作成できない

通常、構造分析クイック・フィックスを用いて、次の 2 つの方法でコード問題を解決できます。1) 問題のあるコードを移動する既存のクラスを選択する。2) 問題のあるコードを移動する新規クラスを作成する。2 番目のオプションを選択すると、エラーによりクイック・フィックスは完了しません。

この問題を回避するには、クイック・フィックスを適用する前に新規クラスを作成し、コード・レビューリファクタリング (code review refactoring) ウィザードでそのクラスを選択します。

1.4 一部のパッケージのソースが検討されない

一部の J2EE ベスト・プラクティス規則では、次のパッケージに含まれているソースが検討されません。
1. com.ibm
2. COM.ibm
3. sun
4. sunw
5. java
6. javax
7. org.apache
8. com.sun
9. org.omg
10. org.ietf
11. org.w3c
12. org.xml

1.5 行番号が必ずしも表示されない

「コード・レビュー」ビューでは、J2EE のベスト・プラクティス規則で検出された検出結果について、行番号が必ずしも表示されません。 検出結果をダブルクリックすると、正しい行番号が表示されます。

1.6 JSDK または J2EE クラスからの内部データ変数がデータ・フロー・パスに表示されるべきでない

データ・フロー・パスは、規則検索により強調表示される問題を起こす依存関係ヒストリーを示します。 データ・フロー・パスは「パス」タブに表示されます。 JSDK クラスまたは J2EE クラスに存在する内部データ構造がデータ・フロー・パスに表示されることがあります。 例えば、java.lang.Vector 型の変数が変更された場合に、java.lang.Object[]variable 変数が変更されたという表示が出ることがあります。 これは java.lang.Vector 実装の内部フィールドであり、この private 情報がタブに表示されるため紛らわしくなります。

1.7 「設計原則/複合度」規則で深さを負の値に設定できる

「設計原則」規則カテゴリーでは、複合度規則の深さを設定することができます。 例えば、「1 クラスを超えるネストを回避する」という規則を「3 クラスを超えるネストを回避する」に設定することができます。 規則が正しく機能するためには、深さに正数を使用する必要があります。 しかし、現行の複合度規則では、深さが正数に設定される保証がありません。 この問題を回避するには、ゼロや負の数値のような無効な入力をしないでください。

1.8 US ASCII 以外の文字をパラメーターに使用して規則を作成したときエンコードの問題が発生する

パラメーターに US ASCII 以外の文字を使用してテンプレートから規則を作成すると、エンコードの問題が発生します。 これは、例えば、ローカル文字を含む型またはメソッドを選択した場合に起こります。このエンコードの問題のため、US ASCII 以外の文字を使用してこのような特性で作成された規則を実行すると、例外が生成されます。

1.9 構造分析規則の進行状況が正しく報告されない

構造分析規則のコード・レビュー進行状況が正しく報告されません (進行状況ダイアログは、常時 100% と表示されます)。コード・レビューが完了するのを待つ必要があります。

1.10 メイン・ビューの開始/停止ボタンが混合アイコンになる

コード・レビューを開始するとき、開始/停止ボタンに開始と停止を組み合わせたアイコンが表示されることがあります。

1.11 規則「ロケール依存ストリングの比較に java.lang.String.compareTo () の使用を回避する」のクイック・フィックスが誤った解決策を提案する

規則「ロケール依存ストリングの比較に java.langString.compareTo () の使用を回避する」のクイック・フィックスで、規則がターゲットとしている問題のフィックスとして 2 つの解決策が提案されています。 <com.ibm.icu.text.Collator の使用> を提案する解決策は誤りです。 解決策は <java.text.Collator の使用> でなければなりません。

1.12 J2EE 規則テンプレート「[method B] の後 [method A] を常時呼び出し」の一部のインスタンス生成に問題

J2EE 規則テンプレート「[methodB] の後 [methodA] を常時呼び出し」を使用して規則を新規作成した場合、ご使用のワークスペースで [methodB] がデフォルトでコンストラクターになっていると、コード・レビューで規則を実行したときに規則検索結果が出されません。

1.13 J2EE テンプレート規則「[methodB] の後 [methodA] を常時呼び出し」に潜在的な問題

J2EE ベスト・プラクティス・テンプレート規則「[methodB] の後 [methodA] を常時呼び出し」から特定オブジェクト・インスタンスの規則を新規作成すると、次回の特定ケースに規則を定義したときに誤った規則検出が検出されることがあります。 パターン「[methodB] の後 [methodA] を常時呼び出し」の場合、J2EE コードで、メソッドのオブジェクト・インスタンスのライフ・サイクルが分析されるサーブレットのライフ・サイクルより大きくなっていると、誤った規則検出が行われることがあります。 例えば、次のコードを考えてください。

public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {

// Some code here.... final ServletOutputStream outStream = response.getOutputStream(); //... No call to response.flushBuffer after. }

このコードに「ServletResponse.getOutputStream() の後 ServletResponse.flushBuffer() を常時呼び出し」という規則を作成したとします。応答オブジェクトはサーブレット自体より大きいライフ・サイクルを持つインスタンスであるため、コード・レビュー分析の際に問題が発生する可能性があります。 現行サーブレットの問題をターゲットとする他のサーブレットに検出が表示されることがあります。 このような特定オブジェクト・インスタンスのための規則を作成することには疑問があることに注意してください。

1.14 ユーザー定義の「メソッドの定義を回避する」の規則で偽の肯定

規則テンプレート「メソッドの定義を回避する」を使用して規則を新規作成して、完全修飾名を持つメソッドを選択した場合、コード・レビューではメソッドの名前とパラメーターだけが使用されます。 規則テンプレートのフォーカスはメソッド・シグニチャーにあるので、パッケージおよびクラス名の情報は無意味です。

1.15 メソッドを指定するテンプレートがメソッド名を入力すると機能しない

提供されたされた規則テンプレートから規則を新規作成した場合、メソッドの名前は入力しないでください。 ブラウザーを使用してメソッドを選択してください。

1.16 サーバー・データを構成しようとするとエラー注意ウィンドウが表示される

サーバー・データを構成しようとしてエラー注意ウィンドウが表示された場合は、.java ファイルの対応ページ (ページ・コード) を閉じてから、データの構成を再試行してください。

メインの README ファイルに戻る