如何确定如何调用类XHelper或XUtils?
在我心里 :
Helper类,是一个可以实例化并做一些业务工作的类
Utils类是一个静态类,它在一种实例上执行小的重复操作(来自Apache的utils类ArrayUtils或IOUtils的例子)
Pet*_*rey 84
有许多命名样式可供使用.我建议Utils只是因为它更常见.
实用程序类被理解为只具有静态方法并且是无状态的.您不会创建此类的实例.
帮助程序可以是实用程序类,也可以是有状态的,或者需要创建实例.如果可能,我会避免这种情况.
如果你可以使名称更具体.例如,如果它有排序方法,请将其设为XSorter
对于数组,您可以找到辅助类
Array
Arrays
ArrayUtil
ArrayUtils
ArrayHelper
Run Code Online (Sandbox Code Playgroud)
BTW实用程序类的简写是没有实例的枚举
enum XUtils {;
static methods here
}
Run Code Online (Sandbox Code Playgroud)
如果你需要实现一个接口,我会使用一个无状态的Singleton.
enum XHelper implements RequiredInterface {
INSTANCE;
// no instance fields.
}
Run Code Online (Sandbox Code Playgroud)
Jam*_*Lay 17
实用程序是一般用途的“叶节点”类。也就是说,它对您的项目没有任何依赖,并且可以从一个项目移植到另一个项目而不会破坏或变得无用。例如:Vector3,RandomNumberGenerator,StringMatcher,等...
“帮助者”似乎是任何旨在帮助另一个类的类。这些可能取决于您的项目,也可能不取决于您的项目。如果你正在创建一个GameNetworkClient类,你可以说这个GameNetworkConnection类是一个“帮手”,因为它“帮助”了GameNetworkClient.
开发人员提到工具的方式反映了这些词的常见用法。如果您能回忆起被描述为“有用”与“有用”的听力工具,那么有用的工具往往有一些上下文(奶酪刨丝器有助于磨碎奶酪,玉米剥皮器有助于剥玉米,速度装弹器有助于重新装填枪支)。预计“实用程序”可在各种环境中使用(WD-40、胶带、军刀、胶水、手电筒等)。
正如 Jesper 所说,这完全是任意的。您可以考虑什么对您的组织有效,并将其作为惯例。
对我来说,它是这样的:
utils - 静态类,可以在任何地方自由移动和导入。
执行可能在不同模块中有用的一般任务。正如 Peter Lawrey 所说,更具体的名称很有用。
helper -帮助另一个类或模块的类。
仅在其放置的模块中使用的任务,在其他地方导入没有意义。因此名称可以更具体 - ModuleName Helper(例如AdministrationHelper、LoginHelper)