one_member_abstracts
当简单的函数就足够时,避免定义只有一个成员的抽象类。
详细信息
#来自 高效 Dart
避免当简单的函数就足够时,定义只有一个成员的抽象类。
与 Java 不同,Dart 具有一流函数、闭包以及简洁易用的语法。如果你只需要类似回调的东西,直接使用函数即可。如果你定义了一个类,并且它只有一个名为 call
或 invoke
这种无意义名称的抽象成员,那么很有可能你只是想要一个函数。
反例
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