跳到主要內容

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