適切なアクセス修飾子を選択して、フィールドの効率を高めることができます。さらに、フィールドをローカルにすることで、コードの実行も改善できます。未使用のフィールドを削除すると、パフォーマンスはさらに向上します。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 :
........
}
}
}
method1
およびmethod2
のどちらの場合も、メソッドで使用される前に変数が初期化されるため、フィールドi
は、どちらのメソッドでもローカル・フィールドとして宣言する必要があります。
フィールドをローカル変数に設定する際には注意してください。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, 2004, Oracle. All rights reserved.