跳到主要内容

unnecessary_library_name

稳定
推荐
可用修复

不要在 library 声明中包含库名称。

详细信息

#

不要library 声明中包含库名称。

库名称不是必需的。

库不需要库声明,但可以添加一个声明来附加库文档和库元数据。对于这些用途,library; 的声明就足够了。

库名称的唯一用途是供 part 文件引用其所属库,但 part 文件应优先使用字符串 URI 引用库文件,而不是库名称。

如果库声明中添加了库名称,就会引入名称冲突的风险。如果同一程序中的两个库具有相同的库名称,则会产生编译时错误。为了避免这种情况,库名称往往很长,包含包名称和路径,仅仅是为了避免意外的名称冲突。这使得此类库名称难以阅读,甚至无法用作文档。

不良示例

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 规则,请在 linter > rules 下添加 unnecessary_library_name: true

analysis_options.yaml
yaml
linter:
  rules:
    unnecessary_library_name: true