目次

thisを返すことを避ける

流れるようなインターフェースを有効にするためだけに、メソッドからthisを返すことは避けてください。

このルールはDart 2.0以降で使用できます。

詳細

#

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