avoid_annotating_with_dynamic 린트 규칙: 꼭 필요하지 않을 때 dynamic으로 애너테이션하지 않기

avoid_annotating_with_dynamic 린트 규칙: 꼭 필요하지 않을 때 dynamic으로 애너테이션하지 않기

함수나 메서드의 반환값은 기본적으로 dynamic으로 간주되기 때문에, 꼭 필요하지 않은데 굳이 dynamic을 붙여 애너테이션할 필요가 없어요. 이 린트 규칙은 사용하지 않아도 될 dynamic 애너테이션을 잡아내서 코드를 더 깔끔하게 정리하도록 도와줘요.

출처: avoid_annotating_with_dynamic

본문

설명

꼭 필요하지 않을 때는 dynamic으로 애너테이션하지 마세요.

함수나 메서드의 반환값은 기본적으로 dynamic으로 간주되기 때문에, 보통은 굳이 애너테이션을 붙일 필요가 없어요.

BAD:

dynamic lookUpOrDefault(String name, Map map, dynamic defaultValue) {
  var value = map[name];
  if (value != null) return value;
  return defaultValue;
}

GOOD:

lookUpOrDefault(String name, Map map, defaultValue) {
  var value = map[name];
  if (value != null) return value;
  return defaultValue;
}

활성화 방법

avoid_annotating_with_dynamic 규칙을 활성화하려면 analysis_options.yaml 파일의 linter > rules 아래에 규칙을 추가하면 돼요.

linter:
  rules:
    - avoid_annotating_with_dynamic

대신 YAML 맵 문법을 사용해서 린트 규칙을 설정하고 있다면, linter > rules 아래에 avoid_annotating_with_dynamic: true를 추가하면 돼요.

linter:
  rules:
    avoid_annotating_with_dynamic: true

더 알아보기