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