Обычно я живу по правилу, что глобальные переменные/функции — это зло и что каждый фрагмент кода должен жить в классе, к которому он относится.
Это очень простое правило, и я считаю, что до сих пор у меня никогда не было проблем с этим правилом.
Однако сегодня мне нужно добавить функцию в мою сборку, а не в конкретный класс. То есть почти все мои классы могут использовать эту конкретную функцию.
Где мне разместить эту функцию (+1 перегрузка)?
Если я отношу его к классу «Утилиты», я чувствую себя грязным. Если я прикреплю его к полусвязанному классу и позволю другим классам вызывать его напрямую, я буду чувствовать себя хуже.
Этот конкретный фрагмент кода в основном нарезает IList<PointF>
в нормализованный список. Я чувствую прямо сейчас, что добавление его в качестве метода расширения на IList<PointF>
может быть лучшим выбором...