正しいアクセス修飾子を選択すると、フィールドをより効率的に使用できます。また、フィールドをローカルに作成すると、コードのパフォーマンスを向上させることができます。未使用のフィールドを削除してパフォーマンスを向上させることもできます。CodeCoachでは、これらの改善点についてアドバイスします。
CodeCoachによって提供されるフィールド・アドバイスには、次の4つのタイプがあります。
static finalとできる可能性のあるフィールド・アドバイスのキーワードは、FSTA
およびFFIN
です。
次のコード例を考えてみます。
class foo {
private int i;
void method1() {
for (i = 0;i < 10;i++) {
// do some stuff
}
}
void method2() {
i = bar();
switch (i) {
case 1 :
........
}
}
}
フィールドi
は、method1
およびmethod2
でローカル・フィールドとして宣言する必要があります。いずれの場合も、この変数はメソッドで使用される前に初期化されるためです。
フィールドをローカル変数に設定する場合には注意が必要です。CodeCoachでは、次のコードのように変更を求める誤った指示が表示されることもあります。
class foo extends Thread {
private boolean active;
void dostuff() {
active = true;
while (active) {
// do something
}
}
void stopit() {
active = false;
}
}
dostuff
メソッドは、active
フィールドがfalse
に設定されている場合にのみ終了するように設計されています。stopit
メソッドは、active
フィールドをfalse
に設定する場合に別のスレッドを使用するように設計されているため、dostuff
メソッドの実行を停止します。active
は、ローカル変数に変更すると、意図したとおりに機能しません。
ローカルとできる可能性のあるフィールド・アドバイスのキーワードは、FLOC
です。
privateとできる可能性のあるフィールド・アドバイスのキーワードは、FPRI
です。
未使用である可能性のあるフィールドのキーワードは、FUNU
です。
Copyright © 1997, 2006, Oracle. All rights reserved.