如何确定如何调用类 XHelper 或 XUtils ?
在我心里 :
助手类,是一个可以实例化并做一些业务工作的类
Utils 类,是一个静态类,对一种实例执行小而重复的操作(来自 Apache 的 utils 类 ArrayUtils 或 IOUtils 的示例)
如何确定如何调用类 XHelper 或 XUtils ?
在我心里 :
助手类,是一个可以实例化并做一些业务工作的类
Utils 类,是一个静态类,对一种实例执行小而重复的操作(来自 Apache 的 utils 类 ArrayUtils 或 IOUtils 的示例)
有许多命名样式可供使用。我建议 Utils 只是因为它更常见。
Utility 类被理解为只有静态方法并且是无状态的。您不会创建此类的实例。
Helper 可以是实用程序类,也可以是有状态的或需要创建实例。如果可能的话,我会避免这种情况。
如果您可以使名称更具体。例如,如果它有排序方法,则将其设为 XSorter
对于数组,您可以找到辅助类,例如
Array
Arrays
ArrayUtil
ArrayUtils
ArrayHelper
顺便说一句,实用程序类的简写是没有实例的枚举
enum XUtils {;
static methods here
}
如果你需要实现一个接口,我会使用一个无状态的 Singleton。
enum XHelper implements RequiredInterface {
INSTANCE;
// no instance fields.
}
一般来说?这完全是任意的。对此没有任何规定。
实用程序是通用的“叶节点”类。也就是说,它对您的项目没有任何依赖关系,并且可以从一个项目移植到另一个项目,而不会破坏或变得无用。例子:Vector3
, RandomNumberGenerator
, StringMatcher
, 等等...
“帮助者”似乎是任何旨在帮助另一个班级的班级。这些可能取决于您的项目,也可能不取决于您的项目。如果你正在创建一个GameNetworkClient
类,你可以说这个GameNetworkConnection
类是一个“帮助者”,因为它“帮助”了GameNetworkClient
.
开发人员引用工具的方式反映了这些词的常见用法。如果您能回忆起被描述为“有用”与“有用”的听力工具,那么有用的工具往往有一些背景(奶酪刨丝器有助于磨碎奶酪,玉米剥离器有助于剥玉米,高速装载机有助于重新装载枪支)。“实用程序”有望在各种环境中工作(WD-40、胶带、军刀、胶水、手电筒等)。
正如 Jesper 所说,这完全是任意的。您可以考虑什么对您的组织有效,并将其作为惯例。
对我来说,它是这样的:
utils - 静态类,可以在任何地方自由移动和导入。
执行在不同模块中可能有用的一般任务。正如 Peter Lawrey 所说,更具体的名称很有用。
helper -帮助另一个类或模块的类。
仅在其放置的模块中使用并且在其他地方导入没有意义的任务。因此名称可能更具体 - ModuleName Helper(例如AdministrationHelper,LoginHelper)
这没有最终的答案。找出一种命名方案并坚持下去。命名你的包和类是软件架构的重要组成部分,没有人可以剥夺你的决定权。
我个人更喜欢 XHelper,但我更经常在外国代码中看到 XUtils。
我也喜欢在 JDK 和Guava中都可以找到的“复数”命名方案:
如果一个类处理Collection
对象,它被称为Collections
数组 > 数组 (jdk)
列表 > 列表 (guava)
地图 > 地图 (guava)
等等