因此,我正在处理这个类,它应该通过web服务从供应商请求帮助文档。我试着把它命名为documententretriver, VendorDocRequester, DocGetter,但它们听起来不太对。最后,我在dictionary.com网站上浏览了半个小时,试图找到一个合适的词。
带着坏名字开始编程就像早上头发很糟一样,接下来的一天就会每况愈下。感觉我吗?
因此,我正在处理这个类,它应该通过web服务从供应商请求帮助文档。我试着把它命名为documententretriver, VendorDocRequester, DocGetter,但它们听起来不太对。最后,我在dictionary.com网站上浏览了半个小时,试图找到一个合适的词。
带着坏名字开始编程就像早上头发很糟一样,接下来的一天就会每况愈下。感觉我吗?
当前回答
同意了。我喜欢让我的类型名称和变量尽可能具有描述性,而不太长,但有时只是有一个特定的概念,你找不到一个好的词来形容。
在这种情况下,向同事寻求帮助总是有帮助的——即使他们最终没有帮助,它通常至少能帮助我大声解释出来,让我的车轮转动起来。
其他回答
线程1:
function programming_job(){
while (i make classes){
Give each class a name quickly; always fairly long and descriptive.
Implement and test each class to see what they really are.
while (not satisfied){
Re-visit each class and make small adjustments
}
}
}
线程2:
while(true){
if (any code smells bad){
rework, rename until at least somewhat better
}
}
这里没有Thread.sleep(…)。
你用来描述问题的语言,就是你应该用来描述变量、方法、对象、类等的语言。一般来说,名词匹配对象,动词匹配方法。如果您缺少描述问题的词语,那么您也缺少对问题的全面理解(规范)。
如果它只是在一组名称中进行选择,那么它应该由您用来构建系统的约定来驱动。如果您遇到了以前的约定所没有发现的新情况,那么总是值得花一些精力尝试扩展它们(适当地、一致地)来覆盖这个新情况。
如果有疑问,那就睡一觉,选一个最明显的名字,第二天早上:-)
如果有一天你醒来发现自己错了,那就马上改变。
保罗。
BTW: Document.fetch()是非常明显的。
如果10个人中有8个人理解它,那么你就可以放心地认为它是可以理解、可读和清晰的。总会有那么一两个挑剔的人,他们会毫无理由地找你的茬,只因为他们太小气。
DocumentFetcher吗?没有上下文很难说。
它可以帮助你像数学家一样,在你的领域中借用/发明一个词汇:使用简短的简单的词来暗示概念,而不是每次都拼写出来。我经常看到长拉丁短语变成首字母缩略词,让你需要一本字典来了解这些首字母缩略词。
有时候,一个类或方法没有一个好名字,我们都会遇到这种情况。然而,通常情况下,无法想出一个名称可能暗示您的设计存在问题。你的方法是否有太多的责任?你的类是否封装了一个连贯的想法?