omit_obvious_property_types
忽略頂層和靜態變數的顯而易見的型別註解。
詳情
#當型別顯而易見時,不要為已初始化的頂層或靜態變數新增型別註解。
不推薦
dart
final int myTopLevelVariable = 7;
class A {
static String myStaticVariable = 'Hello';
}推薦
dart
final myTopLevelVariable = 7;
class A {
static myStaticVariable = 'Hello';
}有時,推斷出的型別並非您希望變數擁有的型別。例如,您可能打算稍後為其賦其他型別的值。您也可能希望顯式地編寫型別註解,因為初始化表示式的型別不夠明顯,為程式碼未來的讀者記錄此型別會有所幫助。或者,您可能希望確定一個特定型別,以便將來依賴項的更新(在附近的程式碼、匯入中或任何地方)不會靜默地改變該變數的型別,從而在使用該變數的位置引入編譯時錯誤或執行時 Bug。在這些情況下,請繼續使用您想要的型別註解該變數。
推薦
dart
final num myTopLevelVariable = 7;
class A {
static String? myStaticVariable = 'Hello';
}此規則是實驗性的。 它正在評估中,可能會更改或移除。歡迎提供關於其行為的反饋!主要問題在此處:https://github.com/dart-lang/sdk/issues/59550。
不相容的規則
#omit_obvious_property_types 規則與以下規則不相容
啟用
#要啟用 omit_obvious_property_types 規則,請在您的 analysis_options.yaml 檔案中的 linter > rules 下新增 omit_obvious_property_types
analysis_options.yaml
yaml
linter:
rules:
- omit_obvious_property_types如果您改用 YAML map 語法配置 linter 規則,請在 linter > rules 下新增 omit_obvious_property_types: true
analysis_options.yaml
yaml
linter:
rules:
omit_obvious_property_types: true