因此,我正在处理这个类,它应该通过web服务从供应商请求帮助文档。我试着把它命名为documententretriver, VendorDocRequester, DocGetter,但它们听起来不太对。最后,我在dictionary.com网站上浏览了半个小时,试图找到一个合适的词。

带着坏名字开始编程就像早上头发很糟一样,接下来的一天就会每况愈下。感觉我吗?


当前回答

不是真的。考虑到在编码中必须理解的所有困难,说命名类和方法是编程中最困难的事情之一是荒谬的。不要误解我的意思,有时很难想出一个好名字,但让我们现实一点。我可以说这是编程中最简单的部分之一。

其他回答

该类只有一个合理的名称:

HelpRequest

不要让实现细节分散了你对意义的注意力。

如果你是一个。net开发人员,我强烈建议你阅读BradA, Cwalina的书——框架设计指南。这里都解释清楚了。

简而言之: 我同意好名字很重要,但我不认为你必须不惜一切代价在实现之前找到它们。

当然,最好一开始就有个好名字。但如果你不能在2分钟内想出一个,以后重命名将花费更少的时间,从生产力的角度来看是正确的选择。

长: 一般来说,在实现之前对名称考虑太久通常是不值得的。如果你实现你的类,命名它为“Foo”或“Dsnfdkgx”,在实现的时候,你会看到你应该给它命名什么。

特别是在Java+Eclipse中,重命名一点也不麻烦,因为它会小心地处理所有类中的所有引用,并警告您名称冲突等。只要这个类还没有在版本控制存储库中,我不认为重命名5次有什么错。

基本上,这是一个如何思考重构的问题。就我个人而言,我喜欢它,尽管它有时会惹恼我的队友,因为他们相信永远不要碰一个运行系统。从您可以重构的所有内容来看,更改名称是您可以做的最无害的事情之一。

为什么不叫HelpDocumentServiceClient有点拗口,或者叫HelpDocumentClient…它是供应商并不重要,重要的是它是处理帮助文档的web服务的客户端。

是的,命名很难。

我从另一个角度来看,如果你想让你的代码被其他人读懂,这是最重要的事情之一。

尽量使它具有描述性,如果它来自第三方,为什么不在类或方法名中包含[第三方的]名称呢?

如果嫌时间长,随便取个名字,后记可以改。