arguments-ordering
- Group
- Style
- Path
lint/style/arguments-ordering- Default
- Off, opt in
- Origin
- Falcon
- Rule
- 11 of 512
Named arguments follow their resolved parameter declaration order by default.
Unknown signatures are skipped. order: ascending or order: descending
explicitly selects alphabetical ordering; alphabetize: true selects ascending.
Invalid
void target({int alpha = 0, int zebra = 0}) {}
class Example {
const Example({int alpha = 0, int zebra = 0});
Example.forward() : this(zebra: 2, alpha: 1);
}
class Child extends Example {
Child() : super(zebra: 2, alpha: 1);
}
void calls() {
target(zebra: 2, alpha: 1);
Example(zebra: 2, alpha: 1);
new Example(zebra: 2, alpha: 1);
const Example(zebra: 2, alpha: 1);
}
@Example(zebra: 2, alpha: 1)
class Annotated {}
enum Choice {
value(zebra: 2, alpha: 1);
const Choice({int alpha = 0, int zebra = 0});
}
class Builder {
void configure({int alpha = 0, int zebra = 0}) {}
}
void cascades(Builder builder) {
builder..configure(zebra: 2, alpha: 1);
}
void declarationOrder({int zebra = 0, int alpha = 0, int middle = 0}) {}
class NonAlphabetical {
const NonAlphabetical({int zebra = 0, int alpha = 0});
const NonAlphabetical.named({int zebra = 0, int alpha = 0});
NonAlphabetical.forward()
: this.named(alpha: 1, zebra: 2);
void configure({int zebra = 0, int alpha = 0}) {}
}
void declarationCalls(NonAlphabetical object) {
declarationOrder(alpha: 1, zebra: 2);
declarationOrder(middle: 3, alpha: 1);
NonAlphabetical(alpha: 1, zebra: 2);
new NonAlphabetical(alpha: 1, zebra: 2);
object.configure(alpha: 1, zebra: 2);
object..configure(alpha: 1, zebra: 2);
}
@NonAlphabetical(alpha: 1, zebra: 2)
class DeclarationAnnotation {}
class Inherited extends NonAlphabetical {
Inherited() : super(alpha: 1, zebra: 2);
Inherited.named()
: super.named(alpha: 1, zebra: 2);
}
void inheritedCall(Inherited object) {
object.configure(alpha: 1, zebra: 2);
}
@NonAlphabetical.named(alpha: 1, zebra: 2)
class NamedDeclarationAnnotation {}
enum NamedChoice {
value.named(alpha: 1, zebra: 2);
const NamedChoice.named({int zebra = 0, int alpha = 0});
}
class Generic<T> {
void configure({T? zebra, T? alpha}) {}
}
void genericCall(Generic<int> object) {
object.configure(alpha: 1, zebra: 2);
}
class PrivatePrimary({final int _alpha = 0, final int _zebra = 0}) {}
class MixedPrimary({final int _zebra = 0, int alpha = 0, var _middle = 0}) {}
void primaryCalls() {
PrivatePrimary(zebra: 2, alpha: 1);
MixedPrimary(alpha: 1, zebra: 2, middle: 3);
} const Example({int alpha = 0, int zebra = 0}); Example.forward() : this(zebra: 2, alpha: 1);class Child extends Example { Child() : super(zebra: 2, alpha: 1);void calls() { target(zebra: 2, alpha: 1); target(zebra: 2, alpha: 1); Example(zebra: 2, alpha: 1); Example(zebra: 2, alpha: 1); new Example(zebra: 2, alpha: 1); new Example(zebra: 2, alpha: 1); const Example(zebra: 2, alpha: 1); @Example(zebra: 2, alpha: 1)enum Choice { value(zebra: 2, alpha: 1);void cascades(Builder builder) { builder..configure(zebra: 2, alpha: 1); NonAlphabetical.forward() : this.named(alpha: 1, zebra: 2);void declarationCalls(NonAlphabetical object) { declarationOrder(alpha: 1, zebra: 2); declarationOrder(alpha: 1, zebra: 2); declarationOrder(middle: 3, alpha: 1); declarationOrder(middle: 3, alpha: 1); NonAlphabetical(alpha: 1, zebra: 2); NonAlphabetical(alpha: 1, zebra: 2); new NonAlphabetical(alpha: 1, zebra: 2); new NonAlphabetical(alpha: 1, zebra: 2); object.configure(alpha: 1, zebra: 2); object.configure(alpha: 1, zebra: 2); object..configure(alpha: 1, zebra: 2); @NonAlphabetical(alpha: 1, zebra: 2)class Inherited extends NonAlphabetical { Inherited() : super(alpha: 1, zebra: 2); Inherited.named() : super.named(alpha: 1, zebra: 2);void inheritedCall(Inherited object) { object.configure(alpha: 1, zebra: 2); @NonAlphabetical.named(alpha: 1, zebra: 2)enum NamedChoice { value.named(alpha: 1, zebra: 2);void genericCall(Generic<int> object) { object.configure(alpha: 1, zebra: 2);void primaryCalls() { PrivatePrimary(zebra: 2, alpha: 1); PrivatePrimary(zebra: 2, alpha: 1); MixedPrimary(alpha: 1, zebra: 2, middle: 3);Valid
void target(int zebra, int alpha, {int beta = 0, int gamma = 0}) {}
class Example {
const Example({int alpha = 0, int zebra = 0});
}
void calls() {
target(2, 1, beta: 3, gamma: 4);
Example(alpha: 1, zebra: 2);
const Example(alpha: 1, zebra: 2);
final items = [2, 1];
final record = (zebra: 2, alpha: 1);
}
void declarationOrder({int zebra = 0, int alpha = 0, int middle = 0}) {}
class NonAlphabetical {
const NonAlphabetical({int zebra = 0, int alpha = 0});
const NonAlphabetical.named({int zebra = 0, int alpha = 0});
NonAlphabetical.forward() : this.named(zebra: 2, alpha: 1);
void configure({int zebra = 0, int alpha = 0}) {}
}
void declarationCalls(NonAlphabetical object, dynamic unknown) {
declarationOrder(zebra: 2, alpha: 1, middle: 3);
declarationOrder(zebra: 2, middle: 3);
NonAlphabetical(zebra: 2, alpha: 1);
new NonAlphabetical(zebra: 2, alpha: 1);
object.configure(zebra: 2, alpha: 1);
object..configure(zebra: 2, alpha: 1);
unknown.configure(zebra: 2, alpha: 1);
unknown.configure(alpha: 1, zebra: 2);
unresolved(zebra: 2, alpha: 1);
unresolved(alpha: 1, zebra: 2);
}
@NonAlphabetical(zebra: 2, alpha: 1)
class DeclarationAnnotation {}
class Inherited extends NonAlphabetical {
Inherited() : super(zebra: 2, alpha: 1);
Inherited.named() : super.named(zebra: 2, alpha: 1);
Inherited.forward() : this();
}
void inheritedCall(Inherited object) {
object.configure(zebra: 2, alpha: 1);
}
void functionTypeUnknown(void Function({int alpha, int zebra}) callback) {
callback(zebra: 2, alpha: 1);
}
@NonAlphabetical.named(zebra: 2, alpha: 1)
class NamedDeclarationAnnotation {}
enum NamedChoice {
value.named(zebra: 2, alpha: 1);
const NamedChoice.named({int zebra = 0, int alpha = 0});
}
class Generic<T> {
void configure({T? zebra, T? alpha}) {}
}
void genericCall(Generic<int> object) {
object.configure(zebra: 2, alpha: 1);
}
class PrivatePrimary({final int _alpha = 0, final int _zebra = 0}) {}
class MixedPrimary({final int _zebra = 0, int alpha = 0, var _middle = 0}) {}
void primaryCalls() {
PrivatePrimary(alpha: 1, zebra: 2);
MixedPrimary(zebra: 2, alpha: 1, middle: 3);
MixedPrimary(zebra: 2, middle: 3);
}Configure arguments-ordering
Set its severity in falcon.json. See the configuration guide.
{
"linter": {
"rules": {
"style": {
"arguments-ordering": "error"
}
}
}
}Or silence one occurrence with a suppression comment; the reason is required.
// falcon-ignore lint/style/arguments-ordering: <reason>More style rules
- avoid-abbreviations-in-doc-comments
avoid_abbreviations_in_doc_commentsFlags Latin abbreviations in doc comments.
- avoid-annotating-with-dynamic
avoid_annotating_with_dynamicFlags parameters explicitly annotated with
dynamic. - avoid-bloc-public-fieldsbloc
Keep package-confirmed Bloc instance fields private; inherited API overrides are allowed.
- avoid-bloc-public-methodsbloc
Enforce the package-confirmed Bloc convention.
- avoid-bool-literals-in-conditional-expressions
avoid_bool_literals_in_conditional_expressionsrecommendedFlags conditional expressions over
boolthat have aboolliteral branch. - avoid-catches-without-on-clauses
avoid_catches_without_on_clausesAvoid
catchclauses without anontype. - avoid-catching-errors
avoid_catching_errorsDon't explicitly catch
Erroror types that implement it. - avoid-double-and-int-checks
avoid_double_and_int_checksrecommendedAvoid checking a value for
doubleand then forint.