跳到主要內容

避免只包含靜態成員的類

穩定

避免定義只包含靜態成員的類。

詳情

#

摘自 《高效 Dart》

避免定義只包含靜態成員的類。

不鼓勵建立僅用於提供工具方法或其他靜態方法的類。Dart 允許函式存在於類之外,正是為此目的。

不好

dart
class DateUtils {
  static DateTime mostRecent(List<DateTime> dates) {
    return dates.reduce((a, b) => a.isAfter(b) ? a : b);
  }
}

class _Favorites {
  static const mammal = 'weasel';
}

dart
DateTime mostRecent(List<DateTime> dates) {
  return dates.reduce((a, b) => a.isAfter(b) ? a : b);
}

const _favoriteMammal = 'weasel';

啟用

#

要啟用 avoid_classes_with_only_static_members 規則,請在你的 analysis_options.yaml 檔案中,在 linter > rules 下新增 avoid_classes_with_only_static_members

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_classes_with_only_static_members

如果你使用的是 YAML 對映語法來配置 Linter 規則,請在 linter > rules 下新增 avoid_classes_with_only_static_members: true

analysis_options.yaml
yaml
linter:
  rules:
    avoid_classes_with_only_static_members: true