跳到主要內容

one_member_abstracts

穩定版本

當簡單的函式就能做到時,避免定義單一成員的抽象類別。

詳細資訊

#

出自Effective Dart

避免在簡單的函式就能做到時,定義單一成員的抽象類別。

與 Java 不同,Dart 具有一級函式、閉包,以及使用它們的簡潔語法。如果您只需要類似回呼的功能,只需使用函式即可。如果您定義的類別只有一個抽象成員,且名稱沒有意義,例如 callinvoke,那麼很有可能您只是想要一個函式。

不良範例

dart
abstract class Predicate {
  bool test(item);
}

良好範例

dart
typedef Predicate = bool Function(item);

啟用

#

若要啟用 one_member_abstracts 規則,請在您的 analysis_options.yaml 檔案中的 linter > rules 下新增 one_member_abstracts

analysis_options.yaml
yaml
linter:
  rules:
    - one_member_abstracts

如果您改為使用 YAML 對應語法來設定 linter 規則,請在 linter > rules 下新增 one_member_abstracts: true

analysis_options.yaml
yaml
linter:
  rules:
    one_member_abstracts: true