跳到主要内容

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