불필요한 library 지시문 규칙

불필요한 library 지시문 규칙 (unnecessary_library_directive)

library 지시문(directive)에 이름이나 의미 있는 내용 없이 그냥 선언만 해 둔 건 아닌지 확인해 주는 린트 규칙이에요. 라이브러리 문서나 어노테이션(annotation)을 붙이려는 목적이 아니라면, 빈 library 지시문은 굳이 필요 없거든요.

출처: unnecessary_library_directive

본문

라이브러리를 문서화하거나 어노테이션을 달고 싶을 때만 library 지시문을 사용하세요.

좋지 않은 예를 볼게요. 이렇게 아무런 내용 없이 library;라고만 쓰는 건 불필요해요.

library;

반대로 라이브러리에 대한 문서 주석을 달거나, 어노테이션을 붙이고 싶다면 이렇게 쓸 수 있어요.

/// This library does important things
library;

어노테이션 붙이는 용도라면 이렇게도 쓸 수 있죠.

@TestOn('js')
library;

참고: 이 린트의 한계 때문에, part를 사용하는 라이브러리는 불필요한 library 지시문으로 표시되지 않아요.

활성화하기

unnecessary_library_directive 규칙을 켜려면 analysis_options.yaml 파일의 linter > rules 아래에 unnecessary_library_directive를 추가하면 돼요.

linter:
  rules:
    - unnecessary_library_directive

린트 규칙을 설정할 때 YAML 맵 문법을 쓰고 있다면, linter > rules 아래에 unnecessary_library_directive: true처럼 넣어 주면 돼요.

linter:
  rules:
    unnecessary_library_directive: true

더 알아보기

  • 이 규칙은 Dart 2.19에서 추가됐고, 현재 Stable(안정) 단계예요.
  • 문서 주석을 달아 주석이 있는 library 지시문은 unnecessary_comment 같은 규칙과는 별개로 유효하게 취급돼요. 라이브러리 문서를 다는 습관 자체는 좋은 습관이랍니다.