avoid_null_checks_in_equality_operators: 커스텀 == 연산자에서 null을 검사하지 마세요

avoid_null_checks_in_equality_operators: 커스텀 == 연산자에서 null을 검사하지 마세요

avoid_null_checks_in_equality_operators는 직접 구현한 == 연산자에서 null 검사를 하지 말라고 알려주는 린트(lint) 규칙이에요. 지금은 다른 경고로 대체되어 더 이상 권장되지 않아요.

출처: avoid_null_checks_in_equality_operators

본문

상세 설명

참고: 이 린트는 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)은 제공돼요.

더 알아보기