avoid_type_to_string
avoid_type_to_string
Type에서 toString을 호출하는 것은 프로덕션 코드에서 안전하지 않아요. 타입이 정말로 같은지 확인해야 한다면 더 안전한 다른 방법을 쓰는 게 좋겠죠. 이 규칙을 설명해 드릴게요.
출처: 원문
본문
진단 메시지
Using 'toString' on a 'Type' is not safe in production code.
설명
분석기는 정적 타입이 Type인 값에 toString 메서드를 호출할 때 이 진단을 만들어요.
예시
다음 코드는 runtimeType이 반환한 Type에 toString을 호출하기 때문에 이 진단이 발생해요.
bool isC(Object o) => o.runtimeType.toString() == 'C';
class C {}
일반적인 해결 방법
타입이 정확히 같은지 확인해야 하는 상황이라면 명시적인 비교를 사용하세요.
bool isC(Object o) => o.runtimeType == C;
class C {}
타입의 하위 타입 인스턴스가 true를 반환해도 괜찮다면 타입 검사를 사용하세요.
bool isC(Object o) => o is C;
class C {}