我发现了一些类似的文章this one,这表明某些单词永远不应该用作类名的一部分。当一个类的名称中包含这些单词之一时,就意味着应该重构或重新设计代码。
Example:
Manager
原因:由于几乎所有类都“管理”某些东西,并且“经理”的含义非常广泛,因此人们可以将很多职责交给“经理”类,同时仍然可以声称该类“只做一件事”。因此,用“Manager”命名一个类并不能说明该类的实际用途。前面的文章提到,“在没有‘管理器’的情况下命名 Java 类”,表明了这一点:
例如,以一个名为“UrlManager”的类为例,您无法判断它是否池化 URL、操作 URL 或审核它们的使用。从名称可以看出,这不是一个 URL,但它确实可以与它们一起使用。另一方面,名称“UrlBuilder”可以更好地描述该类的功能。
另一个例子:
Helper
原因:像“ThreadHelper”这样的类名让人想知道为什么需要它以及为什么它不能只是“Thread”类的一部分。它实际上是适配器还是装饰器?如果是这样,就这样命名。 “Thread”类是否已经承担了太多责任?如果是这样,请重构并为新类指定一个有意义的名称。 “帮助者”没有提及它在做什么或如何提供帮助。
类名中还有哪些其他单词表明需要重构或重新设计并且应该避免?为什么?
编辑:我认为这些词自从
- 它们通常具有广泛的含义
- 它们几乎适用于所有环境
- 他们阻止设计师思考更好的设计或名称
- 人们相信使用它们是可以的
这本书干净的代码列出了更多但没有给出原因:
类名中应避免使用 Manager、Processor、Data 或 Info 等词。
如果有人能为他们提供可能的原因,那就太好了。
相关问题:
命名类的最佳方法是什么?
Utils
。检查一下克里斯·弥撒尔的博客条目为什么。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)