跳到主要内容

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