跳到主要內容

omit_obvious_property_types

實驗性
可修正

省略頂層和靜態變數的明顯類型註解。

詳細資訊

#

當類型顯而易見時,請勿為已初始化的頂層或靜態變數加上類型註解。

不良範例

dart
final int myTopLevelVariable = 7;

class A {
  static String myStaticVariable = 'Hello';
}

良好範例

dart
final myTopLevelVariable = 7;

class A {
  static myStaticVariable = 'Hello';
}

有時推斷出的類型並非您希望變數擁有的類型。例如,您可能打算稍後指派其他類型的值。您可能也希望明確地撰寫類型註解,因為初始化表達式的類型不明顯,並且記錄此類型對於程式碼的未來讀者會有所幫助。或者,您可能希望提交到特定類型,以便未來對相依性的更新(在附近的程式碼、匯入中、任何地方)不會靜默地變更該變數的類型,從而在使用此變數的位置引入編譯時期錯誤或執行時期錯誤。在這些情況下,請繼續為變數加上您想要的類型註解。

良好範例

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