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