跳到主要内容

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