avoid_renaming_method_parameters 린트 규칙: 오버라이드 메서드의 매개변수 이름을 바꾸지 맙시다
avoid_renaming_method_parameters 린트 규칙: 오버라이드 메서드의 매개변수 이름을 바꾸지 맙시다
avoid_renaming_method_parameters는 오버라이드한 메서드의 매개변수 이름을 바꾸지 말아 달라고 알려주는 Dart 린트(lint) 규칙이에요. 이름 그대로 단순해 보이지만, 문서 생성 단계에서 문제를 일으킬 수 있어서 꼭 지켜줘야 하는 규칙이랍니다.
본문
설명
오버라이드하는 메서드는 자기만의 문서 주석(doc comment)이 없다면, dart doc이 문서를 만들 때 오버라이드된 메서드의 주석을 그대로 물려받아요. 그런데 이때 상속받은 주석 속에 매개변수 이름(대괄호로 감싼 것)이 들어 있다면, dart doc이 그 이름을 제대로 링크해 주지 못해요. 그래서 매개변수 이름까지 바꿔버리면 문서의 링크가 깨질 수 있답니다.
나쁜 예시
abstract class A {
m(a);
}
abstract class B extends A {
m(b);
}
위처럼 매개변수 이름을 a에서 b로 바꿔버리면, 물려받은 주석 안에 있는 [a] 같은 참조를 제대로 연결할 수 없어요.
좋은 예시
abstract class A {
m(a);
}
abstract class B extends A {
m(a);
}
오버라이드하는 메서드에서도 매개변수 이름을 원래 그대로 유지해야 해요.
규칙 활성화하기
avoid_renaming_method_parameters 규칙을 활성화하려면 analysis_options.yaml 파일의 linter > rules 아래에 추가해요:
linter:
rules:
- avoid_renaming_method_parameters
혹시 YAML 맵(map) 문법으로 린트 규칙을 설정한다면, linter > rules 아래에 avoid_renaming_method_parameters: true를 넣으면 돼요:
linter:
rules:
avoid_renaming_method_parameters: true