pattern-fields-ordering
- Group
- Style
- Path
lint/style/pattern-fields-ordering- Default
- Off, opt in
- Origin
- Falcon
- Rule
- 310 of 512
Flags named object and record pattern fields that violate the configured order.
Set order to "ascending" or "descending" for case-sensitive
lexicographic ordering. Without a valid explicit order, this rule is inactive.
Explicit labels and inferred shorthand names are compared; positional record
fields and unresolved shorthand names break the comparison sequence.
Invalid
void objects(Object value) {
if (value case Point(zebra: var z, apple: var a)) {}
if (value case Point(:var zebra, :var apple)) {}
if (value case (zebra: var z, apple: var a)) {}
if (value case (:var zebra, :var apple)) {}
if (value case (0, zebra: var z, apple: var a)) {}
}
class Point { final int apple = 1; final int zebra = 2; }void objects(Object value) { if (value case Point(zebra: var z, apple: var a)) {} if (value case Point(zebra: var z, apple: var a)) {} if (value case Point(:var zebra, :var apple)) {} if (value case Point(:var zebra, :var apple)) {} if (value case (zebra: var z, apple: var a)) {} if (value case (zebra: var z, apple: var a)) {} if (value case (:var zebra, :var apple)) {} if (value case (:var zebra, :var apple)) {} if (value case (0, zebra: var z, apple: var a)) {}Valid
void objects(Object value) {
if (value case Point(apple: var a, zebra: var z)) {}
if (value case Point(:var apple, :var zebra)) {}
if (value case (apple: var a, zebra: var z)) {}
if (value case (:var apple, :var zebra)) {}
if (value case (var zebra, var apple)) {}
if (value case (0, apple: var a, zebra: var z)) {}
if (value case Point(apple: var zebra, zebra: var apple)) {}
}
class Point { final int apple = 1; final int zebra = 2; }Configure pattern-fields-ordering
Set its severity in falcon.json. See the configuration guide.
{
"linter": {
"rules": {
"style": {
"pattern-fields-ordering": "error"
}
}
}
}Or silence one occurrence with a suppression comment; the reason is required.
// falcon-ignore lint/style/pattern-fields-ordering: <reason>More style rules
- prefer-adjacent-string-concatenation
prefer_adjacent_string_concatenationrecommendedFlags two string literals joined with the
+operator. - prefer-align-over-containerflutter
Prefers
Alignover aContainerused only foralignment. - prefer-asserts-in-initializer-lists
prefer_asserts_in_initializer_listsFlags leading constructor-body asserts that could live in the initializer list.
- prefer-asserts-with-message
prefer_asserts_with_messageFlags
assertstatements and assert initializers that have no message. - prefer-async-await
prefer-async-awaitFlags
.then(...)future chains that should useasync/await. - prefer-async-callback
prefer_async_callbackflutterFlags the type
Future<void> Function()in favor of Flutter'sAsyncCallback. - prefer-bloc-event-suffixbloc
Enforce the package-confirmed Bloc convention.
- prefer-bloc-extensionsbloc
Prefer context.read/watch over
package:flutter_bloc's provider lookups.