avoid_null_checks_in_equality_operators: 커스텀 == 연산자에서 null을 검사하지 마세요
avoid_null_checks_in_equality_operators: 커스텀 == 연산자에서 null을 검사하지 마세요
avoid_null_checks_in_equality_operators는 직접 구현한 == 연산자에서 null 검사를 하지 말라고 알려주는 린트(lint) 규칙이에요. 지금은 다른 경고로 대체되어 더 이상 권장되지 않아요.
본문
상세 설명
참고: 이 린트는
non_nullable_equals_parameter경고로 대체되어 더 이상 사용하지 않아요(deprecated). analysis options에서 이 린트 포함 항목을 모두 제거하세요.
커스텀 == 연산자에서 null을 검사하지 마세요. null은 특별한 값이라, Null 외에는 어떤 클래스의 인스턴스도 그 값과 같을 수 없어요. 그래서 상대방 인스턴스가 null인지 검사하는 건 불필요해요.
BAD:
class Person {
final String? name;
@override
operator ==(Object? other) =>
other != null && other is Person && name == other.name;
}
GOOD:
class Person {
final String? name;
@override
operator ==(Object? other) => other is Person && name == other.name;
}
활성화하기
avoid_null_checks_in_equality_operators 규칙을 활성화하려면 analysis_options.yaml 파일의 linter > rules 아래에 avoid_null_checks_in_equality_operators를 추가해요.
linter:
rules:
- avoid_null_checks_in_equality_operators
대신 YAML map 문법으로 린터 규칙을 설정한다면, linter > rules 아래에 avoid_null_checks_in_equality_operators: true를 추가해요.
linter:
rules:
avoid_null_checks_in_equality_operators: true
참고로 이 규칙은 더 이상 사용되지 않으며, 자동 수정(fix)은 제공돼요.