조건부 표현 대신 if 요소 사용하기

조건부 표현 대신 if 요소 사용하기 (prefer_if_elements_to_conditional_expressions)

Dart Analyzer가 리스트나 셋 리터럴의 요소로 조건부 표현(conditional expression)을 쓴 걸 발견하면, 더 읽기 좋은 if 요소로 바꾸라고 알려주는 린트 규칙이에요.

출처: prefer_if_elements_to_conditional_expressions

본문

설명

Analyzer는 조건부 표현이 리스트나 셋 리터럴의 요소로 사용됐는데, 그 자리에 if 요소를 쓸 수 있을 때 이 진단을 만들어요.

예시

다음 코드는 두 값 중 하나를 골라 리스트에 넣기 위해 조건부 표현을 사용했기 때문에 이 진단이 나와요.

List<String> f(bool b) {
  return ['a', b ? 'c' : 'd', 'e'];
}

일반적인 수정

값을 고르는 데 if 요소를 사용하면 돼요.

List<String> f(bool b) {
  return ['a', if (b) 'c' else 'd', 'e'];
}

더 알아보기

  • 조건부 표현보다 if 요소를 쓰면 리스트가 더 선언적으로 읽혀서 의도가 분명해져요.
  • 같은 맥락에서 요소를 추가하거나 뺄 때도 if 요소가 유용하답니다.