조건식 대신 if 요소 사용하기
조건식 대신 if 요소 사용하기
컬렉션을 만들 때 조건에 따라 요소를 넣거나 빼야 하는 경우가 있어요. 이때 condition ? 'c' : null 같은 조건식을 쓰다 보면 null을 걸러내는 코드까지 덧붙여야 해서 번거롭죠. 이 린트 규칙은 가능하면 컬렉션의 if 요소를 쓰라고 알려줘요.
본문
컬렉션을 만들 때는 조건식(conditional expression)보다 **if 요소(if elements)**를 사용하는 게 더 좋아요.
나쁜 예:
var list = ['a', 'b', condition ? 'c' : null].where((e) => e != null).toList();
좋은 예:
var list = ['a', 'b', if (condition) 'c'];
조건식 방식은 where로 null을 걸러내는 작업까지 추가로 해야 하지만, if 요소를 쓰면 조건이 참일 때만 'c'가 들어가서 훨씬 간결해져요.
이 규칙 켜는 법
prefer_if_elements_to_conditional_expressions 규칙을 켜려면 analysis_options.yaml 파일의 linter > rules 아래에 규칙 이름을 추가하면 돼요.
linter:
rules:
- prefer_if_elements_to_conditional_expressions
혹시 YAML 맵 문법으로 린트 규칙을 설정하고 있다면, linter > rules 아래에 이렇게 적어주면 돼요.
linter:
rules:
prefer_if_elements_to_conditional_expressions: true