建立规则是《代码大全》里核心思想之一,把它提到核心的位置,是因为它真的很重要。
以前编程的时候没特别注意规则,只是在编程的时候尽量保持一致,只是尽量而已,不会特别重视。
这个后果再不久之后就会显现出来,当再隔2个星期去看代码的时候,会对一些变量、函数的意思感到迷茫,必须通过重新阅读代码才记忆起来。
一段真正好的代码,就是一段流畅的文章,而变量、函数名就是文章的语句,所以命名规则是多么的重要,只有一套好的命名规则才能读文章一样流畅地读代码。
下面是给自己做的命名规则(暂定版):
局部变量:大小写混合,首字母小写 historyData
全局变量:大小写混合,用g_分组, g_HistoryData
函数名 :大小写混合,首字母大写 HelloWorld
具名常量:大写 #define MACRO 10
枚举类型:大写 并用 _ 分组, STR_WARNING
自定义类型: 大小写混合,首字母大写, typedef int TypeName
分组 : 用 ‘_’作为分组标识,变量和函数都可以用
函数参数:同局部变量,并且用 i_, m_, r_ 来为参数的性质分组标识,分别标识输入、修改、返回。
常用命名: (长期补充)
还有一些命名的指导原则 :
1.变量、函数名必须能全面、准确的反映它的意思,特别是子程序的命名必须描述它所做的所有事情
2.有返回值的函数,它的名字应该能反映这一点,如果不能反映这一点,最好把返回值放在参数里
3.给过程名使用语气强烈的动词加宾语的形式: PrintDocument()
4.命名应该以问题为导向,即what,而不是how,
5.变量名中的计算值限定词: total/sum/average/max/min/record/string/pointer,
这些词最好放到名字的最后,因为前面要放更重要的词。
注意的是num有个约定用法,放到最前面表示总数,放到最后表示小标。不过可以用count、total代替总数,index代替 下 标。如
numCustomers == customerCount/customTotal , customerNum == customerIndex.