isEmpty 사용하기

isEmpty 사용하기 (prefer_is_empty)

Dart Analyzer가 Iterable.lengthMap.length의 결과를 0과 같은지 비교하는 코드를 보면, 더 명확한 isEmptyisNotEmpty로 바꾸라고 알려주는 린트 규칙이에요.

출처: prefer_is_empty

본문

설명

Analyzer는 Iterable.length 또는 Map.length를 호출한 결과를 0과 같은지 비교할 때 이 진단을 만들어요.

예시

다음 코드는 length를 호출한 결과를 0과 같은지 검사하기 때문에 이 진단이 나와요.

int f(Iterable<int> p) => p.length == 0 ? 0 : p.first;

일반적인 수정

length 대신 isEmptyisNotEmpty를 사용하면 돼요.

void f(Iterable<int> p) => p.isEmpty ? 0 : p.first;

더 알아보기

  • length == 0은 항상 컬렉션이 비어 있는지 확인하는 것인데, isEmpty가 바로 그 뜻을 담고 있어서 의도가 훨씬 분명해져요.
  • 이름만 봐도 의미가 드러나니, 비어 있는지 확인할 땐 isEmpty, 그 반대는 isNotEmpty를 쓰는 습관을 들이면 좋아요.