"マジックナンバー"、すなわち定数宣言で命名されていない数値リテラルを報告します。

マジックナンバーを使用するとコードが不明確になるだけでなく、マジックナンバーがある場所だけで変更され、他の場所で変更されていない場合にエラーが発生する可能性があります。 数値 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");
    }
  }

インスペクションの構成: