package_prefixed_library_names: 라이브러리 이름에 패키지 이름을 접두사로 붙이세요
package_prefixed_library_names: 라이브러리 이름에 패키지 이름을 접두사로 붙이세요
라이브러리 이름을 지을 때 패키지 이름을 앞에 붙이고 점(.)으로 구분된 경로를 뒤에 붙이도록 안내하는 린트 규칙이에요. 서로 다른 라이브러리의 이름 충돌을 미리 피할 수 있게 도와줘요.
본문
설명
라이브러리 이름에는 패키지 이름을 접두사로 붙이고, 점으로 구분된 경로를 뒤에 달도록 하세요. 이 규칙을 지키면 두 라이브러리가 같은 이름을 가질 때 발생하는 경고를 피할 수 있어요. 우리가 권장하는 규칙을 정리하면 이렇습니다.
- 모든 라이브러리 이름 앞에 패키지 이름을 붙여요.
- 진입점(entry) 라이브러리에는 패키지 이름을 그대로 사용해요.
- 패키지에 속한 나머지 라이브러리에는 패키지 이름 뒤에, 해당 라이브러리의 Dart 파일까지 가는 점으로 구분된 경로를 추가해요.
lib아래에 있는 라이브러리라면, 최상위 디렉터리 이름은 생략해요.
예를 들어 패키지 이름이 my_package라고 해볼게요. 패키지 안 여러 파일에 대해 라이브러리 이름이 이렇게 정해져요.
GOOD:
// In lib/my_package.dart
library my_package;
// In lib/other.dart
library my_package.other;
// In lib/foo/bar.dart
library my_package.foo.bar;
// In example/foo/bar.dart
library my_package.example.foo.bar;
// In lib/src/private.dart
library my_package.src.private;
활성화 방법
package_prefixed_library_names 규칙을 쓰려면 analysis_options.yaml 파일의 linter > rules 아래에 규칙을 추가하면 돼요.
linter:
rules:
- package_prefixed_library_names
대신 YAML 맵(map) 문법으로 린터 규칙을 설정한다면, linter > rules 아래에 package_prefixed_library_names: true를 추가해요.
linter:
rules:
package_prefixed_library_names: true