unnecessary_import: 불필요한 import

unnecessary_import: 불필요한 import

가져와서 참조하는 모든 이름이 다른 import를 통해서도 이미 보이는 경우, 그 import는 필요 없어요. 그럴 때 Analyzer가 이 진단을 알려줘요. import를 지워도 의미가 달라지지 않거든요.

출처: unnecessary_import

본문

이 진단은 어떤 import가 필요 없을 때 발생해요. import하는 라이브러리 안에서 가져와서 참조하는 모든 이름이 다른 import를 통해서도 이미 보이는 경우가 바로 그 상황이에요.

Example

먼저 a.dart라는 파일이 아래 내용을 담고 있다고 해볼게요.

class A {}

그리고 b.dart라는 파일이 아래 내용을 담고 있다고 해볼게요.

export 'a.dart';

class B {}

그 아래 코드는 a.dart에서 가져온 A 클래스가 b.dart를 통해서도 이미 가져와지기 때문에 이 진단이 발생해요. a.dart의 import를 지워도 의미는 그대로 남죠.

import 'a.dart';
import 'b.dart';

void f(A a, B b) {}

Common fixes

import가 필요 없다면 그냥 제거하면 돼요.

만약 이 import가 가져온 이름 중 일부를 앞으로 쓰려고 했는데 아직 안 쓴 상태이고, 그 이름들이 다른 import로는 가져와지지 않는다면, 그 이름들에 대한 참조를 코드에 추가해 주세요.

더 알아보기