avoid_returning_this
Avoid returning this from methods just to enable a fluent interface.
This rule is available as of Dart 2.0.
Details
#From Effective Dart:
AVOID returning this from methods just to enable a fluent interface.
Returning this from a method is redundant; Dart has a cascade operator which allows method chaining universally.
Returning this is allowed for:
- operators
- methods with a return type different of the current class
- methods defined in parent classes / mixins or interfaces
- methods defined in extensions
BAD:
var buffer = StringBuffer()
.write('one')
.write('two')
.write('three');GOOD:
var buffer = StringBuffer()
..write('one')
..write('two')
..write('three');Usage
#To enable the avoid_returning_this rule, add avoid_returning_this under linter > rules in your analysis_options.yaml file:
linter:
rules:
- avoid_returning_thisUnless stated otherwise, the documentation on this site reflects Dart 3.6.0. Page last updated on 2024-07-03. View source or report an issue.