use_is_even_rather_than_modulo — 홀짝 판별은 `.isOdd`/`.isEven`으로

use_is_even_rather_than_modulo — 홀짝 판별은 .isOdd/.isEven으로

어떤 값이 짝수인지 홀수인지 확인할 때 % 2의 결과를 비교하는 대신 intValue.isEven/intValue.isOdd 프로퍼티를 쓰는 게 더 읽기 좋아요.

출처: use_is_even_rather_than_modulo

본문

이 규칙은 홀짝을 확인할 때 intValue.isOdd/intValue.isEven을 쓰도록 권장해요.

BAD:

bool isEven = 1 % 2 == 0;
bool isOdd = 13 % 2 == 1;

GOOD:

bool isEven = 1.isEven;
bool isOdd = 13.isOdd;

1 % 2 == 0처럼 나머지 연산으로 확인하면 '왜 2로 나누지?' 하는 생각이 들 수 있어요. .isEven/.isOdd는 의도가 그대로 드러나서 코드가 훨씬 명확해져요.

더 알아보기

규칙을 활성화하려면 analysis_options.yaml 파일의 linter > rules 아래에 use_is_even_rather_than_modulo를 추가하면 돼요.

linter:
  rules:
    - use_is_even_rather_than_modulo

YAML 맵 문법으로 규칙을 설정한다면 linter > rules 아래에 use_is_even_rather_than_modulo: true를 쓰면 돼요.

linter:
  rules:
    use_is_even_rather_than_modulo: true