メインコンテンツにスキップ

unnecessary_library_name

安定版
推奨
修正が利用可能です

library宣言にライブラリ名を含めないでください。

詳細

#

library宣言にライブラリ名を含めないでください。

ライブラリ名は不要です。

ライブラリにはlibrary宣言は必須ではありませんが、ライブラリのドキュメントやメタデータを添付するために追加することができます。library;という宣言で十分です。

ライブラリ名の唯一の用途は、partファイルがそれを所有するライブラリを参照できるようにすることですが、partファイルはライブラリ名ではなく、文字列URIを使用してライブラリファイルを参照することが推奨されます。

ライブラリ名がlibrary宣言に追加されると、名前の競合のリスクが生じます。同じプログラム内の2つのライブラリに同じライブラリ名がある場合、コンパイル時エラーになります。これを避けるために、ライブラリ名は意図しない名前の衝突を避けるためだけに、パッケージ名やパスを含めて長くなる傾向があります。その結果、そのようなライブラリ名は読みにくくなり、ドキュメントとしても役に立ちません。

悪い例

dart
/// This library has a long name.
library magnificator.src.helper.bananas;
dart
library utils; // Not as verbose, but risks conflicts.

良い例

dart
/// This library is awesome.
library;

part "apart.dart"; // contains: `part of "good_library.dart";`

有効にする

#

unnecessary_library_nameルールを有効にするには、analysis_options.yamlファイルのlinter > rulesの下にunnecessary_library_nameを追加してください。

analysis_options.yaml
yaml
linter:
  rules:
    - unnecessary_library_name

代わりにYAMLマップ構文を使用してリンタールールを設定している場合は、linter > rulesの下にunnecessary_library_name: trueを追加してください。

analysis_options.yaml
yaml
linter:
  rules:
    unnecessary_library_name: true