マジックナンバーを使用するとコードが不明確になるだけでなく、マジックナンバーがある場所だけで変更され、他の場所で変更されていない場合にエラーが発生する可能性があります。 数値 0、1、2、3、4、5、6、7、8、9、10、100、1000、0L、1L、2L、0.0、1.0、0.0F、1.0F は、このインスペクションでは報告されません。
例:
void checkFileSize(long bytes) {
if (bytes > 1_048_576) {
throw new IllegalArgumentException("too big");
}
}
クイックフィックスによって新しい定数が導入されます。
static final int MAX_SUPPORTED_FILE_SIZE = 1_048_576;
void checkFileSize(long bytes) {
if (bytes > MAX_SUPPORTED_FILE_SIZE) {
throw new IllegalArgumentException("too big");
}
}
インスペクションの構成:
hashCode() メソッド内でこのインスペクションを無効にするには、「'hashCode()' メソッドで定数を無視する」オプションを使用します。Collection、Map、StringBuilder または StringBuffer オブジェクトを構築する際に初期容量として使用されるマジックナンバーを無視するには、「StringBuilder および Collection の初期容量を無視する」オプションを使用します。