one_member_abstracts
当一个简单的函数就能满足需求时,应避免定义只有一个成员的抽象类。
详情
#应避免在简单函数可以满足需求时定义单成员抽象类。
与 Java 不同,Dart 具有一等函数、闭包以及使用它们的简洁语法。如果只需要类似回调的功能,请直接使用函数。如果您正在定义一个类,并且它只有一个抽象成员,且名称像 call
或 invoke
这样没有明确意义,那么很可能您只需要一个函数。
错误示例
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
如果您改为使用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 one_member_abstracts: true
analysis_options.yaml
yaml
linter:
rules:
one_member_abstracts: true
除非另有说明,否则本网站上的文档反映的是 Dart 3.7.1 版本。页面上次更新于 2025-03-07。 查看源代码 或 报告问题。