no_default_cases
禁止使用 default 分支。
詳情
#針對列舉和類列舉的 switch 語句不應使用 default 子句。
類列舉被定義為具體的(非抽象的)類,它們具有
- 僅私有的非工廠建構函式
- 兩個或更多型別為 enclosing 類的 static const 欄位,並且
- 在定義庫中該類沒有子類
建議在 switch 語句之外定義預設行為。
差
dart
switch (testEnum) {
case TestEnum.A:
return '123';
case TestEnum.B:
return 'abc';
default:
return null;
}好
dart
switch (testEnum) {
case TestEnum.A:
return '123';
case TestEnum.B:
return 'abc';
}
// Default here.
return null;啟用
#要啟用 no_default_cases 規則,請在 analysis_options.yaml 檔案中的 linter > rules 下新增 no_default_cases
analysis_options.yaml
yaml
linter:
rules:
- no_default_cases如果您改用 YAML map 語法配置 linter 規則,請在 linter > rules 下新增 no_default_cases: true
analysis_options.yaml
yaml
linter:
rules:
no_default_cases: true