prefer_is_not_empty: `Iterable`과 `Map`은 `isNotEmpty`로 확인해요

prefer_is_not_empty: IterableMapisNotEmpty로 확인해요

비어 있는지 검사할 때 부정 연산을 쓰면 읽기가 조금 어색해지곤 해요. prefer_is_not_empty 린터 규칙은 !로 뒤집는 대신 isNotEmpty를 쓰도록 도와주는 규칙이에요.

출처: Use isNotEmpty for Iterables and Maps

본문

Details

IterableMap 인스턴스가 비어 있는지 검사할 때는 !x.isEmpty보다 x.isNotEmpty를 쓰는 걸 권장해요. 이렇게 하면 코드 가독성이 좋아져요.

BAD:

if (!sources.isEmpty) {
  process(sources);
}

GOOD:

if (todo.isNotEmpty) {
  sendResults(request, todo.isEmpty);
}

Enable

prefer_is_not_empty 규칙을 켜려면 analysis_options.yaml 파일의 linter > rules 아래에 prefer_is_not_empty를 추가해요.

linter:
  rules:
    - prefer_is_not_empty

대신 YAML 맵(map) 문법으로 린터 규칙을 설정하고 있다면 linter > rules 아래에 prefer_is_not_empty: true를 추가해요.

linter:
  rules:
    prefer_is_not_empty: true

더 알아보기