avoid_redundant_argument_values
避免多餘的參數值。
詳細資訊
#請「勿」傳遞與對應參數預設值相同的參數。
請注意,方法覆寫可能會變更參數的預設值,因此參數可能會等於其中一個預設值,但與另一個預設值不同。例如,假設有兩個類別 `A` 和 `B`,其中 `B` 是 `A` 的子類別,且 `B` 覆寫了在 `A` 上宣告的方法,而該方法在 `A` 的宣告中具有一個預設值,在 `B` 的宣告中具有不同的預設值。如果調用方法的目標的靜態類型為 `B`,且 `B` 的預設值與參數相符,則可以省略該參數 (如果參數值不同,則不會回報 lint)。但是,如果調用方法的目標的靜態類型為 `A`,則可能會回報 lint,但我們無法靜態地知道調用了哪個方法,因此回報的 lint 可能是誤報。這類情況可以使用類似 `// ignore: avoid_redundant_argument_values` 的註解行內忽略。
不良範例
void f({bool valWithDefault = true, bool? val}) {
...
}
void main() {
f(valWithDefault: true);
}
良好範例
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
linter:
rules:
- avoid_redundant_argument_values
如果您改用 YAML map 語法來設定 linter 規則,請在 linter > rules 下方新增 avoid_redundant_argument_values: true
linter:
rules:
avoid_redundant_argument_values: true
除非另有說明,否則本網站上的文件反映的是 Dart 3.7.1 版本。頁面最後更新於 2025-03-07。 檢視原始碼 或 回報問題。