avoid_returning_null_for_void 린트 규칙: void 함수에서 null을 반환하지 맙시다

avoid_returning_null_for_void 린트 규칙: void 함수에서 null을 반환하지 맙시다

avoid_returning_null_for_void반환 타입이 void인 함수에서 null을 반환하지 말아 달라고 알려주는 Dart 린트(lint) 규칙이에요. Dart 2.1에서 함께 소개된 규칙이랍니다.

출처: avoid_returning_null_for_void

본문

설명

많은 언어에서 반환 타입 void는 "이 함수는 아무것도 반환하지 않는다"는 뜻으로 쓰여요. Dart는 void 반환 타입의 함수에서 null을 반환하는 걸 허용하긴 하지만, 그 대신 값을 명시하지 않은 빈 return; 문도 쓸 수 있게 해줘요. 일관된 스타일을 유지하려면 null을 반환하지 말고, 빈 return;을 사용하는 쪽이 좋답니다.

나쁜 예시

void f1() {
  return null;
}
Future<void> f2() async {
  return null;
}

voidFuture<void> 함수에서 null을 반환하고 있어요. 이건 불필요해요.

좋은 예시

void f1() {
  return;
}
Future<void> f2() async {
  return;
}

값 없이 빈 return;만 사용해요. 이렇게 하면 "아무것도 반환하지 않는다"는 의도가 분명해져요.

규칙 활성화하기

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

linter:
  rules:
    - avoid_returning_null_for_void

YAML 맵(map) 문법을 쓴다면 linter > rules 아래에 avoid_returning_null_for_void: true를 넣으면 돼요:

linter:
  rules:
    avoid_returning_null_for_void: true

더 알아보기