"Чихал я на ваши правила"
Читая содержание правил линтера Dart наткнулся на одно из них (avoid_classes_with_only_static_members) - оно отвечает за то, чтобы мы не создавали классов, которые обладают только статическими методами, а в качестве альтернативы предлагают использовать top-level функции. Хоть правило и носит рекомендательный характер, но вызывает у меня баттхерт. И вот почему...
Пример из жизни: в моем проекте есть класс, обладающий только статическими методами. На текущий момент их всего 59. Собрал я их вместе по одной простой причине - это помогает мне их понятным образом сгруппировать и обращаться к ним через единую "точку входа".
Если бы мне в качестве альтернативы предложили "упаковать" функции в единый Namespace (понятия namespace в Dart просто нет), я был бы согласен с правилом. Но мне предлагают отказаться от удобства и наплодить 59 "отдельностоящих" функций. Не кайф.
Поэтому правило avoid_classes_with_only_static_members никогда не попадет в мой конфиг линтера, пока в Dart не завезут нормальные неймспейсы)