目錄
目錄

Avoid defining a class that contains only static members.

This rule is available as of Dart 2.0.0.

Details

From Effective Dart:

AVOID defining a class that contains only static members.

Creating classes with the sole purpose of providing utility or otherwise static methods is discouraged. Dart allows functions to exist outside of classes for this very reason.

BAD:

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

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

GOOD:

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

const _favoriteMammal = 'weasel';

Usage

To enable the avoid_classes_with_only_static_members rule, add avoid_classes_with_only_static_members under linter > rules in your analysis_options.yaml file:

linter:
  rules:
    - avoid_classes_with_only_static_members