annotate_overrides 린트 규칙
annotate_overrides 린트 규칙
메서드나 필드를 오버라이드할 때 @override 어노테이션을 달도록 안내하는 린트 규칙이에요. 이렇게 하면 코드 가독성이 좋아지고, 슈퍼클래스 멤버를 실수로 오버라이드하는 것을 막아 주는 데도 도움이 돼요.
본문
DO 오버라이드하는 메서드와 필드에 어노테이션을 달아 주세요.
이런 관행은 코드 가독성을 높이고, 슈퍼클래스 멤버를 의도치 않게 오버라이드하는 것을 막아 주는 데 도움이 돼요.
BAD:
class Cat {
int get lives => 9;
}
class Lucky extends Cat {
final int lives = 14;
}
GOOD:
abstract class Dog {
String get breed;
void bark() {}
}
class Husky extends Dog {
@override
final String breed = 'Husky';
@override
void bark() {}
}
Enable
annotate_overrides 규칙을 활성화하려면 analysis_options.yaml 파일의 linter > rules 아래에 annotate_overrides를 추가해 주세요:
linter:
rules:
- annotate_overrides
대신 YAML 맵 문법으로 린터 규칙을 설정한다면, linter > rules 아래에 annotate_overrides: true를 추가하면 돼요:
linter:
rules:
annotate_overrides: true