avoid_ setters_ without_ getters
Avoid setters without getters.
Details
#DON'T define a setter without a corresponding getter.
Defining a setter without defining a corresponding getter can lead to logical inconsistencies. Doing this could allow you to set a property to some value, but then upon observing the property's value, it could easily be different.
BAD:
class Bad { int l, r; set length(int newLength) { r = l + newLength; } } GOOD:
class Good { int l, r; int get length => r - l; set length(int newLength) { r = l + newLength; } }
Enable
# To enable the avoid_setters_without_getters rule, add avoid_setters_without_getters under linter > rules in your analysis_options.yaml file:
linter: rules: - avoid_setters_without_getters If you're instead using the YAML map syntax to configure linter rules, add avoid_setters_without_getters: true under linter > rules:
linter: rules: avoid_setters_without_getters: true Unless stated otherwise, the documentation on this site reflects Dart 3.10.3. Report an issue.