불필요한 null-aware 대입 규칙
불필요한 null-aware 대입 규칙 (unnecessary_null_aware_assignments)
null-aware 대입 연산자 ??=의 오른쪽에 null을 쓰고 있진 않은지 잡아 주는 린트 규칙이에요. ??=는 왼쪽 값이 null일 때만 대입하는 연산자인데, 오른쪽도 null이면 대입한들 아무 의미가 없게 되거든요.
본문
null-aware 대입에서 null을 피하세요.
null-aware 대입(??=)의 오른쪽에 null을 넣으면 사실상 그 대입이 무의미해져요.
좋지 않은 예를 볼게요. x가 null일 때만 null을 대입하는 셈이라, 결국 아무것도 하지 않는 거나 마찬가지예요.
var x;
x ??= null;
의미가 있게 하려면 오른쪽에 실제 값을 넣어야겠죠.
var x;
x ??= 1;
이렇게 하면 x가 null일 때만 1을 대입하는 자연스러운 동작이 돼요.
활성화하기
unnecessary_null_aware_assignments 규칙을 켜려면 analysis_options.yaml 파일의 linter > rules 아래에 unnecessary_null_aware_assignments를 추가하면 돼요.
linter:
rules:
- unnecessary_null_aware_assignments
린트 규칙을 설정할 때 YAML 맵 문법을 쓰고 있다면, linter > rules 아래에 unnecessary_null_aware_assignments: true처럼 넣어 주면 돼요.
linter:
rules:
unnecessary_null_aware_assignments: true
더 알아보기
- 이 규칙은 현재 권장(Recommended) 단계로, 자동 수정(Fix)이 제공돼요.
- null 처리 전반의 관례를 다듬고 싶다면
avoid_null_checks_in_null_aware_branches같은 규칙도 함께 확인해 보세요.