跳到主要內容

one_member_abstracts

穩定

當簡單的函式就足夠時,避免定義只有一個成員的抽象類。

詳細資訊

#

來自 高效 Dart

避免當簡單的函式就足夠時,定義只有一個成員的抽象類。

與 Java 不同,Dart 具有一流函式、閉包以及簡潔易用的語法。如果你只需要類似回撥的東西,直接使用函式即可。如果你定義了一個類,並且它只有一個名為 callinvoke 這種無意義名稱的抽象成員,那麼很有可能你只是想要一個函式。

反例

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

範例

dart
typedef Predicate = bool Function(item);

啟用

#

要啟用 one_member_abstracts 規則,請在你的 analysis_options.yaml 檔案中,將 one_member_abstracts 新增到 linter > rules 下方

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