avoid_redundant_argument_values
避免多餘的參數值。
此規則自 Dart 2.8 起可用。
此規則具有可用的快速修正。
詳細資訊
#請勿傳遞與對應參數的預設值相符的引數。
請注意,方法覆寫可能會變更參數的預設值,因此引數可能等於一個預設值,而不等於另一個預設值。例如,假設有兩個類別 A
和 B
,其中 B
是 A
的子類別,而 B
覆寫了在 A
上宣告的方法,且該方法在 A
的宣告中具有一個預設值的參數,而在 B
的宣告中具有不同的預設值。如果所呼叫方法目標的靜態類型為 B
,且 B
的預設值與引數相符,則可以省略該引數(且如果引數值不同,則不會回報 lint)。但是,如果所呼叫方法目標的靜態類型為 A
,則可能會回報 lint,但我們無法靜態地知道呼叫的是哪個方法,因此回報的 lint 可能是誤報。可以使用類似 // ignore: avoid_redundant_argument_values
的註解來內嵌忽略這種情況。
錯誤
dart
void f({bool valWithDefault = true, bool? val}) {
...
}
void main() {
f(valWithDefault: true);
}
正確
dart
void f({bool valWithDefault = true, bool? val}) {
...
}
void main() {
f(valWithDefault: false);
f();
}
用法
#若要啟用 avoid_redundant_argument_values
規則,請在您的analysis_options.yaml
檔案中的 linter > rules 下方新增 avoid_redundant_argument_values
analysis_options.yaml
yaml
linter:
rules:
- avoid_redundant_argument_values
除非另有說明,否則本網站上的文件反映的是 Dart 3.6.0。頁面上次更新時間為 2024-07-03。 檢視原始碼或回報問題。