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

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


当前回答

不要忘记设计模式(不仅仅是GoF模式)是一种提供公共词汇表的好方法,只要适合情况,就应该使用它们的名称。这甚至可以帮助熟悉命名法的新手快速理解体系结构。您正在处理的这个类是否应该充当Proxy,甚至是Façade ?

其他回答

我不得不承认命名是一门艺术。如果你的类遵循特定的“设计模式”(工厂等),事情就会变得简单一些。

对我来说,我不在乎一个方法或类名有多长,只要它是描述性的,并且在正确的库中。应该记住API的每个部分驻留在哪里的日子已经一去不复返了。

智能感存在于所有主要语言中。因此,当使用第三方API时,我喜欢使用它对文档的智能感知,而不是使用“实际的”文档。

考虑到这一点,我可以创建一个方法名,如

StevesPostOnMethodNamesBeingLong或Short

很长,但那又怎样。现在谁不用24英寸的屏幕呢!

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

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

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

我坚持基本的:VerbNoun(参数)。例子:GetDoc (docID)。

没有必要太花哨。一年后,不管是你还是其他人,都很容易理解。

你用来描述问题的语言,就是你应该用来描述变量、方法、对象、类等的语言。一般来说,名词匹配对象,动词匹配方法。如果您缺少描述问题的词语,那么您也缺少对问题的全面理解(规范)。

如果它只是在一组名称中进行选择,那么它应该由您用来构建系统的约定来驱动。如果您遇到了以前的约定所没有发现的新情况,那么总是值得花一些精力尝试扩展它们(适当地、一致地)来覆盖这个新情况。

如果有疑问,那就睡一觉,选一个最明显的名字,第二天早上:-)

如果有一天你醒来发现自己错了,那就马上改变。

保罗。

BTW: Document.fetch()是非常明显的。