use_is_even_rather_than_modulo — 홀짝 판별은 `.isOdd`/`.isEven`으로
use_is_even_rather_than_modulo — 홀짝 판별은 .isOdd/.isEven으로
어떤 값이 짝수인지 홀수인지 확인할 때 % 2의 결과를 비교하는 대신 intValue.isEven/intValue.isOdd 프로퍼티를 쓰는 게 더 읽기 좋아요.
본문
이 규칙은 홀짝을 확인할 때 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