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에서 함께 소개된 규칙이랍니다.
본문
설명
많은 언어에서 반환 타입 void는 "이 함수는 아무것도 반환하지 않는다"는 뜻으로 쓰여요. Dart는 void 반환 타입의 함수에서 null을 반환하는 걸 허용하긴 하지만, 그 대신 값을 명시하지 않은 빈 return; 문도 쓸 수 있게 해줘요. 일관된 스타일을 유지하려면 null을 반환하지 말고, 빈 return;을 사용하는 쪽이 좋답니다.
나쁜 예시
void f1() {
return null;
}
Future<void> f2() async {
return null;
}
void나 Future<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