因此,我正在处理这个类,它应该通过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(…)。
其他回答
我觉得这是副作用。
真正难的不是命名。难的是命名的过程会让你面对一个可怕的事实,那就是你根本不知道自己在做什么。
我发现局部变量最麻烦。例如,我想创建一个DocGetter类型的对象。我知道它是DocGetter。为什么我要给它另一个名字?我通常会给它起一个像dg(用于DocGetter)或temp之类的名字,或者其他同样没有描述性的名字。
我坚持基本的:VerbNoun(参数)。例子:GetDoc (docID)。
没有必要太花哨。一年后,不管是你还是其他人,都很容易理解。
这是有编码标准的原因之一。有一个标准往往有助于在需要时想出名字。它有助于解放你的思想,让你去做其他更有趣的事情!(-):
我建议阅读Steve McConnell的《Code Complete》(Amazon链接)的相关章节,其中介绍了一些有助于提高可读性甚至可维护性的规则。
HTH
欢呼,
Rob
Steve Mcconnell的《Code Complete》一书中有一个关于命名变量/类/函数/…