因此,我正在处理这个类,它应该通过web服务从供应商请求帮助文档。我试着把它命名为documententretriver, VendorDocRequester, DocGetter,但它们听起来不太对。最后,我在dictionary.com网站上浏览了半个小时,试图找到一个合适的词。
带着坏名字开始编程就像早上头发很糟一样,接下来的一天就会每况愈下。感觉我吗?
因此,我正在处理这个类,它应该通过web服务从供应商请求帮助文档。我试着把它命名为documententretriver, VendorDocRequester, DocGetter,但它们听起来不太对。最后,我在dictionary.com网站上浏览了半个小时,试图找到一个合适的词。
带着坏名字开始编程就像早上头发很糟一样,接下来的一天就会每况愈下。感觉我吗?
当前回答
不要忘记设计模式(不仅仅是GoF模式)是一种提供公共词汇表的好方法,只要适合情况,就应该使用它们的名称。这甚至可以帮助熟悉命名法的新手快速理解体系结构。您正在处理的这个类是否应该充当Proxy,甚至是Façade ?
其他回答
简而言之: 我同意好名字很重要,但我不认为你必须不惜一切代价在实现之前找到它们。
当然,最好一开始就有个好名字。但如果你不能在2分钟内想出一个,以后重命名将花费更少的时间,从生产力的角度来看是正确的选择。
长: 一般来说,在实现之前对名称考虑太久通常是不值得的。如果你实现你的类,命名它为“Foo”或“Dsnfdkgx”,在实现的时候,你会看到你应该给它命名什么。
特别是在Java+Eclipse中,重命名一点也不麻烦,因为它会小心地处理所有类中的所有引用,并警告您名称冲突等。只要这个类还没有在版本控制存储库中,我不认为重命名5次有什么错。
基本上,这是一个如何思考重构的问题。就我个人而言,我喜欢它,尽管它有时会惹恼我的队友,因为他们相信永远不要碰一个运行系统。从您可以重构的所有内容来看,更改名称是您可以做的最无害的事情之一。
不要忘记设计模式(不仅仅是GoF模式)是一种提供公共词汇表的好方法,只要适合情况,就应该使用它们的名称。这甚至可以帮助熟悉命名法的新手快速理解体系结构。您正在处理的这个类是否应该充当Proxy,甚至是Façade ?
我学到的一个教训是,如果你找不到一个类的名字,那么这个类几乎总是有问题:
你不需要它 它做的太多了
Leo Brodie在他的书《Thinking Forth》中写道,对于程序员来说,最困难的任务是为事物命名,他指出最重要的编程工具是同义词词典。
试着使用http://thesaurus.reference.com/上的同义词典。
除此之外,不要使用匈牙利符号,避免缩写,并保持一致。
最好的祝福。
对我来说,我不在乎一个方法或类名有多长,只要它是描述性的,并且在正确的库中。应该记住API的每个部分驻留在哪里的日子已经一去不复返了。
智能感存在于所有主要语言中。因此,当使用第三方API时,我喜欢使用它对文档的智能感知,而不是使用“实际的”文档。
考虑到这一点,我可以创建一个方法名,如
StevesPostOnMethodNamesBeingLong或Short
很长,但那又怎样。现在谁不用24英寸的屏幕呢!