コマンドラインからのCodeCoachの使用

CodeCoachは、直接IDE内から使用するか、コマンドラインから使用できます。いずれの場合でも、プロジェクトで実行する前に、CodeCoachアドバイスをカスタマイズできます。

CodeCoachはJDeveloper環境内のみで動作するため、コマンドラインからCodeCoachを実行する場合は、Oracle Java Virtual Machine(OJVM)およびOracle Java Compiler(ojc)を必ず使用してください。

コマンドラインからCodeCoachを実行するには、次のようにします。

  1. CodeCoachを実行するクラスと除外するクラスを指定します
  2. ojcを使用してプロジェクトをコンパイルします。-gスイッチを使用して、デバッグ情報を含めて対象となるすべてのクラスをコンパイルします。
  3. java.exeまたはjavaw.exeのいずれかの場合は、パラメータ-Xcodecoachで開始します。
  4. アドバイス・タイプINSTおよびCSTAに関する情報を受け取るには、-Xcc:newパラメータを追加します。
  5. 下に表示されているパラメータから適切なパラメータをリスト表示して、アドバイス・タイプ、アドバイス・レベルをカスタマイズし、必要に応じてパッケージとクラスを組込みおよび除外します。

    変更しないソース・コードのクラスに対するアドバイスを受け取らないようにするには、必ずサード・パーティ製のクラスをすべて除外してください。

アドバイス・タイプを使用可または使用不可に設定

デフォルトでは、CodeCoachではアドバイスのすべての形式がチェックされます。

CodeCoachでチェックされるアドバイスのタイプを制御するには、次のパラメータを使用します。

-Xcc:[enable|disable]:[keyword list]    

各アドバイスには関連付けられたキーワードがあり、キーワードを組み合せて(カンマで区切り)複数の異なるタイプのアドバイスを使用可または使用不可に設定できます。

アドバイスを使用不可または使用可能に設定する順序が結果に影響を与えることに注意してください。たとえば、メソッド・アドバイスのみを使用可能に設定するには、最初にすべてのアドバイス・タイプを使用不可に設定してからメソッドのアドバイスを再び使用可能に設定します。

-Xcc:disable:ALL -Xcc:enable:MALL    

finalメソッドおよびprivateメソッドのアドバイスのみを使用可にするには、すべてのアドバイス・タイプを使用不可に設定して、メソッド・アドバイスを使用可能に設定し、次にstaticメソッドのアドバイス(使用しないメソッド・アドバイスのタイプ)を使用不可に設定します。

-Xcc:disable:ALL -Xcc:enable:MALL -Xcc:disable:MSTA    

アドバイスをより詳細にソース・ファイルで制御するには、プラグマの使用をお薦めします。

アドバイス・レベルの設定

デフォルトでは、CodeCoachでは最も高いレベルでチェックが行われ、組み込まれるパッケージおよびクラスが使用可に設定されているため、100%のアドバイスが返されます。

-Xcc:level:[0-9]    

ここで、0は最小、9は最大のアドバイスの深さを表します。

パッケージおよびクラスの組込みおよび除外

デフォルトでは、実行可能なプログラムでロードされる各クラスが組み込まれています。除外されているクラスはありません。ただし、これらの値は変更できます。

プロジェクトのクラスおよびパッケージ・リスト全体から選択されたサブグループのみにCodeCoachを実行する場合は、次のパラメータを使用します。

-Xcc:incl:[class or package list]    

1つでも値を含めるように指定するとすぐにデフォルトは保持されなくなります。対象リストに含まれ、対象外リストに含まれていないものにのみCodeCoachが使用されます。対象リストに表示されているクラスまたはパッケージのサブ要素を除外するには、対象外リストを使用してください。

クラスまたはパッケージを除外するには、次のパラメータを使用します。

-Xcc:excl:[class or package list]    

複数のクラスまたはパッケージをいずれかのリストに表示するには、名前をセミコロンで区切ります。たとえば、次のとおりです。

-Xcc:excl:java;sun.util;oracle.jdeveloper.Class    

ここで、java.*sun.util.*およびoracle.jdeveloper.Classが除外されます。

すべてのサード・パーティ製のクラスを必ず除外してください。


CodeCoachを使用したコード品質の改善
CodeCoachの開始方法
IDEからのCodeCoachアドバイスのカスタマイズ
ファイル、クラスまたはメソッドに関するCodeCoachアドバイスのカスタマイズ
CodeCoachキーワード

CodeCoachについて
CodeCoachアドバイスのカスタマイズについて
プラグマについて