内容

one_member_abstracts

当一个简单的函数就可以时,避免定义一个只有一个成员的抽象类。

此规则从 Dart 2.0 开始提供。

详细信息

#

来自 有效 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