我最近正在查看一些浮动的Helper风格的“实用程序包”静态类,这些静态类围绕我使用的一些大型C#代码库进行浮动,基本上类似于以下非常简短的代码段:
// Helpers.cs
public static class Helpers
{
public static void DoSomething() {}
public static void DoSomethingElse() {}
}
我审查过的具体方法是
- 彼此之间几乎没有关系
- 没有明确的状态在调用之间持续存在,
- 小,和
- 每一种都由各种不相关的类型消耗。
编辑:上面的内容并非旨在列出所指控的问题。这是我正在审查的特定方法的共同特征的列表。帮助答案提供更多相关解决方案的上下文。
仅针对此问题,我将把这种方法称为GLUM(通用轻量级实用程序方法)。部分地意在“消极”的负面含义。抱歉,这是愚蠢的双关语。
即使撇开我自己对GLUM的默认怀疑态度,我也不喜欢以下内容:
- 静态类仅用作命名空间。
- 静态类标识符基本上是没有意义的。
- 添加新的GLUM时,要么(a)毫无理由地触摸此“ bag”类,要么(b)创建一个新的“ bag”类(这本身通常不成问题;糟糕的是,新的静态类通常只会重复不相关性问题,但方法更少。
- 元的命名无疑也是可怕的,非标准的,通常内部不一致,无论是
Helpers
,Utilities
或什么的。
什么是重构的合理好简单的模式,最好解决上述问题,并且最好轻触一下?
我可能应该强调:我正在处理的所有方法都是成对的彼此无关。似乎没有一种合理的方法可以将它们分解为更细粒度但仍为多成员的静态类方法包。