package_prefixed_library_names: 라이브러리 이름에 패키지 이름을 접두사로 붙이세요

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

더 알아보기