unnecessary_unawaited: 불필요한 unawaited() 호출을 빼세요

unnecessary_unawaited: 불필요한 unawaited() 호출을 빼세요

unnecessary_unawaited@awaitNotRequired로 표시된 대상에 굳이 unawaited()로 감싸지 말라고 알려주는 린트(lint) 규칙이에요. 불필요한 감싸기를 없애 코드를 더 명확하게 만들어 줘요.

출처: Unnecessary use of 'unawaited'.

본문

상세 설명

함수, 메서드, 연산자에 대한 호출이나, 필드·getter·최상위 변수에 대한 참조가 @awaitNotRequired로 주석 처리되어 있다면, 그것을 unawaited()로 감쌀 필요가 없어요.

BAD:

@awaitNotRequired
Future<LogMessage> log(String message) { ... }

void f() {
  unawaited(log('Message.'));
}

GOOD:

@awaitNotRequired
Future<LogMessage> log(String message) { ... }

void f() {
  log('Message.');
}

활성화하기

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

linter:
  rules:
    - unnecessary_unawaited

대신 YAML map 문법으로 린터 규칙을 설정한다면, linter > rules 아래에 unnecessary_unawaited: true를 추가해요.

linter:
  rules:
    unnecessary_unawaited: true

참고로 이 규칙은 Dart 3.9에서 추가됐고, 자동 수정(fix)이 제공돼요.

더 알아보기