unnecessary_final: 불필요한 `final` 키워드

unnecessary_final: 불필요한 final 키워드

생성자의 필드 초기화 파라미터(field initializing parameter)나 super 파라미터(super parameter)에 final을 붙이면 Analyzer가 이 진단을 알려줘요. 두 경우 모두 파라미터가 애초에 암시적으로 final이라서 키워드가 필요 없거든요.

출처: unnecessary_final

본문

이 진단은 생성자 안에서 필드 초기화 파라미터나 super 파라미터에 final 키워드가 붙어 있을 때 발생해요. 두 경우 모두 파라미터가 암시적으로 final이기 때문에 키워드를 다시 적을 필요가 없어요.

Examples

아래 코드는 필드 초기화 파라미터에 final 키워드가 붙어 있어서 이 진단이 발생해요.

// @dart = 3.11
class A {
  int value;

  A(final this.value);
}

아래 코드는 B의 super 파라미터에 final 키워드가 붙어 있어서 이 진단이 발생해요.

// @dart = 3.11
class A {
  A(int value);
}

class B extends A {
  B(final super.value);
}

Common fixes

불필요한 final 키워드를 제거하면 돼요.

// @dart = 3.11
class A {
  A(int value);
}

class B extends A {
  B(super.value);
}

더 알아보기