因此,我正在处理这个类,它应该通过web服务从供应商请求帮助文档。我试着把它命名为documententretriver, VendorDocRequester, DocGetter,但它们听起来不太对。最后,我在dictionary.com网站上浏览了半个小时,试图找到一个合适的词。
带着坏名字开始编程就像早上头发很糟一样,接下来的一天就会每况愈下。感觉我吗?
因此,我正在处理这个类,它应该通过web服务从供应商请求帮助文档。我试着把它命名为documententretriver, VendorDocRequester, DocGetter,但它们听起来不太对。最后,我在dictionary.com网站上浏览了半个小时,试图找到一个合适的词。
带着坏名字开始编程就像早上头发很糟一样,接下来的一天就会每况愈下。感觉我吗?
当前回答
我觉得这不难。如果你叫不出名字,也许你就不需要它。你的设计越好,你就越容易为你的设计命名。
现在来看临时变量,这是另一回事了。:)
其他回答
不应该以供应商文档为对象吗?我的意思是,这是有形的,而不仅仅是一些拟人化的项目的一部分。因此,您可能有一个VendorDocumentation类,该类具有一个获取信息的构造函数。我认为,如果一个类名包含一个动词,通常是出了问题。
这是有编码标准的原因之一。有一个标准往往有助于在需要时想出名字。它有助于解放你的思想,让你去做其他更有趣的事情!(-):
我建议阅读Steve McConnell的《Code Complete》(Amazon链接)的相关章节,其中介绍了一些有助于提高可读性甚至可维护性的规则。
HTH
欢呼,
Rob
我觉得这是副作用。
真正难的不是命名。难的是命名的过程会让你面对一个可怕的事实,那就是你根本不知道自己在做什么。
当每个合理的名字看起来都太长或不明确时,你可以尝试使用一些不太合理的名字,例如:
类GoForHelpLassie 类DunnoAskTechSupport RTFVM类[V为Vendor]
确保名称是唯一的,并且在类的顶部有一个描述性注释,因为任何在代码中看到它的人都需要查找它来找出它是做什么的(但是当他们这样做时,他们可能会发现它更容易记住)。
你用来描述问题的语言,就是你应该用来描述变量、方法、对象、类等的语言。一般来说,名词匹配对象,动词匹配方法。如果您缺少描述问题的词语,那么您也缺少对问题的全面理解(规范)。
如果它只是在一组名称中进行选择,那么它应该由您用来构建系统的约定来驱动。如果您遇到了以前的约定所没有发现的新情况,那么总是值得花一些精力尝试扩展它们(适当地、一致地)来覆盖这个新情况。
如果有疑问,那就睡一觉,选一个最明显的名字,第二天早上:-)
如果有一天你醒来发现自己错了,那就马上改变。
保罗。
BTW: Document.fetch()是非常明显的。