unnecessary_null_checks 린트 규칙: 불필요한 null 체크 없애기

unnecessary_null_checks 린트 규칙: 불필요한 null 체크 없애기

nullable 값을 받는 곳에 굳이 null 체크(!)를 붙일 필요가 없어요. 이미 nullable 값을 인자로 받는 함수가 있다면, 거기 넣을 때 !로 강제 언랩(unwrap)하지 않아도 돼요. 이 린트 규칙은 그런 불필요한 null 체크를 잡아내 코드를 더 단순하게 유지하도록 도와줘요.

출처: unnecessary_null_checks

본문

설명

nullable 값을 받는 곳에는 null 체크를 적용하지 마세요.

인자로 int?처럼 nullable 타입을 받는 함수라면, int? 변수를 그대로 넘기는 게 자연스러워요. 굳이 변수 뒤에 !를 붙여 null이 아님을 강제할 이유가 없어요.

BAD:

f(int? i) {}
m() {
  int? j;
  f(j!);
}

GOOD:

f(int? i) {}
m() {
  int? j;
  f(j);
}

활성화 방법

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

linter:
  rules:
    - unnecessary_null_checks

대신 YAML 맵 문법을 사용해서 린트 규칙을 설정하고 있다면, linter > rules 아래에 unnecessary_null_checks: true를 추가하면 돼요.

linter:
  rules:
    unnecessary_null_checks: true

더 알아보기