diff --git a/pkg/linter/messages.yaml b/pkg/linter/messages.yaml index 30a3fc20cd03..ce7d548b8b75 100644 --- a/pkg/linter/messages.yaml +++ b/pkg/linter/messages.yaml @@ -8262,9 +8262,9 @@ LinterLintCode: deprecatedDetails: |- **DON'T** assign new values to parameters of methods or functions. - Assigning new values to parameters is generally a bad practice unless an - operator such as `??=` is used. Otherwise, arbitrarily reassigning parameters - is usually a mistake. + Assigning new values to parameters is generally a bad practice, even when using + operators such as `??=`. Arbitrarily reassigning parameters is usually a + mistake and can make code harder to reason about. **BAD:** ```dart @@ -8275,14 +8275,14 @@ LinterLintCode: **BAD:** ```dart - void badFunction(int required, {int optional: 42}) { // LINT + void badFunction(int required, {int? optional}) { // LINT optional ??= 8; } ``` **BAD:** ```dart - void badFunctionPositional(int required, [int optional = 42]) { // LINT + void badFunctionPositional(int required, [int? optional]) { // LINT optional ??= 8; } ``` @@ -8305,15 +8305,17 @@ LinterLintCode: **GOOD:** ```dart - void actuallyGood(int required, {int optional}) { // OK - optional ??= ...; + void actuallyGood(int required, {int? optional}) { // OK + final value = optional ?? 8; + print(value); } ``` **GOOD:** ```dart - void actuallyGoodPositional(int required, [int optional]) { // OK - optional ??= ...; + void actuallyGoodPositional(int required, [int? optional]) { // OK + final value = optional ?? 8; + print(value); } ```