目錄

one_member_abstracts

當一個簡單的函式就能解決問題時,請避免定義只有一個成員的抽象類別。

此規則自 Dart 2.0 起提供。

詳細資訊

#

出自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