매직 넘버를 사용하면 코드가 불분명해질 수 있으며, 매직 넘버가 한 위치에서는 변경되지만 다른 위치에서는 동일하게 유지되는 경우 오류가 발생할 수 있습니다. 숫자 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() 메서드 내에서 이 검사를 비활성화합니다.Collection, Map, StringBuilder 또는 StringBuffer 객체 생성 시 초기 용량으로 사용된 매직 넘버를 무시합니다.