Utils文件是否是良好的实践?

9
我看到许多项目使用这种类型的文件。它通常包含从代码中的许多地方所需的函数。保存只包含一两个函数的类和命名空间的代码似乎很合理。但另一方面,它使代码不太分离成逻辑部分,这可能会使项目结构更难以理解。那么我的问题是什么。在项目中有这样的文件是好还是坏?我使用的语言是C++,但这个问题似乎适用于任何编程语言。

我认为这个问题有点太宽泛了,但是我认为将自己的代码制作成库并在许多项目中使用是一种常见做法。请记住,面向对象编程的一部分是重用已经编写的代码。 - John
这在扩展方法出现之前更为常见,但是(这是一种观点)现在我们可以编写扩展方法,实用程序类正在为特定目的让位于静态扩展类。 - Ron Beyer
我认为工具类很好。你宁愿有很多重复的代码吗?不是的。这也使得代码库更小。如果代码编写得好并且/或适当地进行了注释,您不应该阅读代码时遇到问题。 - Chris Bolton
1个回答

10
无论一个utils文件是否是不好的实践,都取决于许多因素。其他因素包括(列表不详尽且可能受到不同个人意见的影响):
- 它是否包含逻辑上属于一起的函数。或者里面有一些不属于的函数。后者当然是不好的实践。 - 它是否是一个命名良好的命名空间的一部分,以明确utils的目的。 - 还有目录结构与命名空间结构相似。 - 单元测试显示工具如何工作以及用户应如何使用API。 - 如果你能找到比utils更好的名称,请务必这样做。 - 这些utils文件可以采用许多形式,服务也同样适用。 - 良好命名的类和函数名称、变量等。
结论:它是好还是坏,很大程度上取决于更广泛的上下文和文件内容。清洁代码的规则始终适用。将实用程序函数放入单独的文件中的想法是常见的做法,但只有在它们被非常良好地结构化以便人们轻松找到它们并在其中时才有用。如果这样可以,人们会使用它们。否则,人们将不使用它们,并且您仍将拥有许多utils文件,这些文件仍包含许多具有稍微不同实现的重复内容。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接