super 파라미터 이름을 일치시켜요

super 파라미터 이름을 일치시켜요

슈퍼 생성자(super constructor)로 전달하는 super 파라미터의 이름이 대응하는 파라미터 이름과 일치하는지 검사해 주는 린트예요. 이름이 어긋나면 실제로 전달되는 값이 기대와 달라질 수 있어요.

출처: matching_super_parameters — Dart linter rules

본문

DOsuper 파라미터의 이름을, 대응하는 슈퍼 생성자의 파라미터 이름과 일치시키세요.

⚠️ 안 좋은 예:

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

더 알아보기