반환식 하나뿐인 짧은 멤버는 =>로 써요

반환식 하나뿐인 짧은 멤버는 =>로 써요

prefer_expression_function_bodies 린트 규칙은, 본문이 단일 return 문 하나뿐인 짧은 멤버는 => (화살표) 문법을 쓰라고 권하는 규칙이에요. Stable 상태이고, 코드 수정도 자동으로 가능해요.

출처: Use => for short members whose body is a single return statement.

본문

본문이 return 식; 한 줄인 짧은 멤버는, 중괄호와 return을 풀어서 => 식;로 압축하는 걸 고려해요. 코드가 훨씬 간결해지고 '바로 이 값을 돌려준다'는 의도가 한눈에 들어와요.

BAD — 본문이 return 하나뿐인데 풀어서 썼어요.

get width {
  return right - left;
}
bool ready(num time) {
  return minTime == null || minTime < time;
}
containsValue(String value) {
  return getValues().contains(value);
}

GOOD — 화살표 문법으로 줄였어요.

get width => right - left;
bool ready(num time) => minTime == null || minTime < time;
containsValue(String value) => getValues().contains(value);

=> 문법은 return 하나만으로 이루어진 짧은 본문에 어울려요. 본문이 여러 줄이거나 여러 문장이 필요하면 오히려 중괄호 블록이 읽기 좋아요.

규칙 켜기

analysis_options.yaml 파일의 linter > rules 아래에 prefer_expression_function_bodies를 추가하면 돼요.

linter:
  rules:
    - prefer_expression_function_bodies

YAML 맵 문법으로 설정한다면 이렇게 써요.

linter:
  rules:
    prefer_expression_function_bodies: true

더 알아보기

  • 화살표 함수 문법 자체가 익숙하지 않다면 Dart 언어의 표현식 함수 본문 문서를 참고해요.