跳到主要内容

avoid_returning_this

稳定

避免从方法中返回 this 仅仅是为了启用流畅的接口。

详情

#

来自 Effective Dart

避免从方法中返回 this 仅仅是为了启用流畅的接口。

从方法中返回 this 是多余的;Dart 有级联运算符,可以通用地实现方法链式调用。

允许返回 this 的情况:

  • 运算符
  • 返回类型与当前类不同的方法
  • 在父类/混入或接口中定义的方法
  • 在扩展中定义的方法

错误示例

dart
var buffer = StringBuffer()
  .write('one')
  .write('two')
  .write('three');

正确示例

dart
var buffer = StringBuffer()
  ..write('one')
  ..write('two')
  ..write('three');

启用

#

要启用 avoid_returning_this 规则,请在你的 analysis_options.yaml 文件中的 linter > rules 下添加 avoid_returning_this

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_returning_this

如果你改用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 avoid_returning_this: true

analysis_options.yaml
yaml
linter:
  rules:
    avoid_returning_this: true