内容

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