prefer_iterable_wheretype
prefer_iterable_wheretype
Dart 분석기(analyzer)가 만들어 내는 'prefer_iterable_wheretype' 진단에 대한 설명이에요. 주어진 타입의 요소를 고를 때는 whereType을 사용하라는 규칙이에요.
본문
설명
분석기는 Iterable.where 메서드가 요소를 타입 기준으로 필터링하는 데 쓰이고 있을 때 이 진단을 만들어 내요.
예시
다음 코드는 where 메서드가 iterable 안의 문자열만 가져오는 데 쓰이고 있기 때문에 이 진단이 발생해요:
Iterable<Object> f(Iterable<Object> p) => p.where((e) => e is String);
일반적인 수정 방법
코드를 whereType을 쓰도록 다시 작성해요:
Iterable<String> f(Iterable<Object> p) => p.whereType<String>();
이렇게 하면 코드에서 타입을 더 엄격하게 다듬거나 다른 타입 검사를 제거할 수도 있게 돼요.