内容

unnecessary_library_name

library 声明中不要使用库名。

此规则在 Dart 3.4 及更高版本中可用。

规则集:推荐flutter

此规则具有可用的 快速修复

详情

#

**不要** 在 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 文件中将 unnecessary_library_name 添加到 **linter > rules** 下

analysis_options.yaml
yaml
linter:
  rules:
    - unnecessary_library_name