跳到主要內容

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