annotate_redeclares 린트 규칙

annotate_redeclares 린트 규칙

멤버를 재선언(redeclare)할 때 @redeclare 어노테이션을 달도록 안내하는 린트 규칙이에요. 이렇게 하면 코드 가독성이 좋아지고, 의도치 않게 멤버를 재선언하거나 재선언이 사라졌을 때(예: 리네임 리팩터링 때문에) 당황하는 일을 막아 줘요. (Dart 3.2에서 도입)

출처: annotate_redeclares

본문

DO 재선언하는 멤버에 어노테이션을 달아 주세요.

이런 관행은 코드 가독성을 높이고, 의도치 않게 멤버를 재선언하거나 이름 변경 리팩터링 등으로 재선언이 사라졌을 때 당황하는 일을 방지하는 데 도움이 돼요.

BAD:

class C {
  void f() { }
}

extension type E(C c) implements C {
  void f() {
    ...
  }
}

GOOD:

import 'package:meta/meta.dart';

class C {
  void f() { }
}

extension type E(C c) implements C {
  @redeclare
  void f() {
    ...
  }
}

Enable

annotate_redeclares 규칙을 활성화하려면 analysis_options.yaml 파일의 linter > rules 아래에 annotate_redeclares를 추가해 주세요:

linter:
  rules:
    - annotate_redeclares

대신 YAML 맵 문법으로 린터 규칙을 설정한다면, linter > rules 아래에 annotate_redeclares: true를 추가하면 돼요:

linter:
  rules:
    annotate_redeclares: true

더 알아보기