Code》学习之—Meaningful Names"/>
《Clean Code》学习之—Meaningful Names
这一章主要将的是命名。Bob大叔确实不是一般人,讲的头头是道,并且讲得很细致。虽然他和Steve McConnell两位都对命名做过自己的阐述,但是Bob大叔所讲的绝不是Steve McConnell大叔的翻版,而是有自己独到的特色。看来同为老程序员,大家的感受既有相似的地方,也有不同之处。下面来看看文章中的一些摘要。
1.Use Intention-Revealing Names(命名要表明用途)
命名可能需要花费一些时间,但由此带来的便利可以为你节省更多的时间;如果要给名字添加注释来表明其用途,那么这样的命名就没有表明它的用途。
2.Avoid Disinformation(避免不含信息的命名,如d)
名字要能体现出代码的意义。不要用小写的L和大写的O来做变量名,因为很容易被看成数字1和0。
3.Make Meaningful Distinctions(命名要区别明显)
数字序列命名(如A1,A2)不会带来任何有用的信息,也无法体现出作者的意图。
4.Use Pronounceable Names(使用可正常发音的命名,这一点很重要,要不然的话程序员之间讨论问题的时候就很悲催了)
5.Use Searchable Names(使用便于查找的命名,如果给一个变量命名为e,那么用查找工具查找变量名的时候就会很杯具,~~~~(>_<)~~~~ )
6.不要使用成员变量前缀(如m_等),应该使用一些能够高亮成员变量的工具,并且类和方法不要写得太长。
7.Avoid Mental Mapping(不要让别人看到你的命名要想半天将你的变量名与他们已经知道的概念联系起来。如不要使用d这样的简短命名,也不要使用意思不明确的词让你想很久,命名的原则是“清晰为王”)。
8.类名最好使用名词,方法名最好使用动词。
9.Pick One Word per Concept(对于同一个概念只用一个相同的单词来表达,避免一个概念用多个不同的单词来表达,这样容易把人混淆)
10.Don’t Pun(不要用一个单词来表示多种不同的概念,这样也容易把人搞混淆)
11.Add Meaningful Context(为命名添加有意义的上下文背景,如加前缀等)。
12.Don’t Add Gratuitous Context(不要为命名添加无关的背景)。
转载于:.html
更多推荐
《Clean Code》学习之—Meaningful Names
发布评论