super 파라미터 이름을 일치시켜요
super 파라미터 이름을 일치시켜요
슈퍼 생성자(super constructor)로 전달하는 super 파라미터의 이름이 대응하는 파라미터 이름과 일치하는지 검사해 주는 린트예요. 이름이 어긋나면 실제로 전달되는 값이 기대와 달라질 수 있어요.
본문
DO — super 파라미터의 이름을, 대응하는 슈퍼 생성자의 파라미터 이름과 일치시키세요.
⚠️ 안 좋은 예:
class Rectangle {
final int width;
final int height;
Rectangle(this.width, this.height);
}
class ColoredRectangle extends Rectangle {
final Color color;
ColoredRectangle(
this.color,
super.height, // Bad, actually corresponds to the `width` parameter.
super.width, // Bad, actually corresponds to the `height` parameter.
);
}
✅ 좋은 예:
class Rectangle {
final int width;
final int height;
Rectangle(this.width, this.height);
}
class ColoredRectangle extends Rectangle {
final Color color;
ColoredRectangle(
this.color,
super.width,
super.height,
);
}
활성화하기
matching_super_parameters 규칙을 켜려면 analysis_options.yaml 파일의 linter > rules 아래에 matching_super_parameters를 추가하면 돼요.
linter:
rules:
- matching_super_parameters
YAML 맵(map) 문법으로 린터 규칙을 설정한다면, linter > rules 아래에 matching_super_parameters: true를 추가하면 됩니다.
linter:
rules:
matching_super_parameters: true