变量名命名

    有些东西不明确写出来就难以确定下来,个人写代码的命名风格一直没有稳定下来,今天写个笔记明确几类主要的命名,希望可以逐步养成自己的编程风格。

    1.类名/类型名: t_每个单词首字母大写【例:t_TypeName】;

    2.枚举类型:反应类型的复数形式【例:Enum_Colors】;

    3.函数名:每个单词首字母大写【例:FunctionName】;

    4.常量、预处理宏全部大写和用下划线分隔单词【例:ALL_CAPS】;

    5.局部变量名:第一个单词小写,后续每个单词的首字母大写【例:variableName】;

    6.全局变量名:g_variableName;

    7.成员变量名:m_variableName;

    8.枚举变量名:反应类型和取值【例:Color_Red、Color_Blue】;



附变量名命名自省问题和注意要点

CheckList:Naming Variables

命名的一般注意事项

    1.名字完整并准确地表达了变量所代表的含义吗?
    2. 名字反映了现实世界的问题而不是编程语言方案吗?
    3. 名字足够长,可以让你无须苦苦思索吗?
    4. 如果有计算值限定符,它被放在名字的最后吗?
    5. 名字中用Count或者Index来代替Num了吗?

为特定类型的数据命名

    1.循环下标的名字有意义吗?(如果循环的长度超出了一两行代码或者出现了嵌套循环,那么就应该是i、j或者k以外的其他名字)?
    2. 所有的“临时”变量都重新命以更有意义的名字了吗?
    3. 当布尔变量的值为真时,变量名能准确表达其含义吗?
    4. 枚举类型的名字中含有能够表示其类别的前缀或后缀了吗?例如,把Color_用于Color_Red, Color_Green, Color_Blue等了吗?
    5. 具名常量是根据它所代表的抽象实体而不是它所代表的数字命名的吗?

命名规则

    1.规则能够区分局部数据、类的数据和全局数据吗?
    2. 规则能够区分类型名、具名常量、枚举类型和变量名吗?
    3. 规则能够在编译器不强制检测只读参数的语言里标识出子程序中的输入参数吗?
    4. 规则尽可能地与语言的标准规则兼容吗?
    5. 名字为了可读性而加以格式化吗?

短名字

    1.代码用了长名字吗(除非有必要使用短名字)?
    2. 是否避免只为了省一个字符而缩写名字?
    3. 所有单词的缩写方式都一致吗?
    4. 名字能够都出来吗?
    5. 避免使用容易被看错或者读错的名字吗?
    6. 在缩写对照表里对段名字作出说明了吗?

常见命名问题:要避免使用:

    1.容易让人误解的名字;
    2. 有相近含义的名字;
    3. 只有一两个字符不同的名字;
    4. 发音相近的名字;
    5. 包含数字的名字;
    6. 为了缩写而故意拼错的名字;
    7. 英语中经常拼错的名字;
    8. 与标准库子程序名或者预定义变量名冲突的名字;
    9. 过于随意的名字;
    10. 含有难读字符的名字;

Key Points

    1.好的变量名是提高程序可读性的一项关键要素。对特殊种类的变量,比如循环下标和状态变量,需要加以特殊的考虑;
    2. 名字要尽可能地具体。那些太模糊或者太通用以至于能够用于多种目的的名字通常都是很不好的;
    3. 命名规则应该能够区别局部数据、类数据和全局数据。它们还应当可以区分类型名、具名常量、枚举类型名字和变量名;
    4. 无论做那种类型项目,都应该采用某种变量名规则。你所采用的规则的种类取决于你的程序的规模,以及项目成员的人数;
    5. 现代编程语言很少需要用到缩写。如果你真的要使用缩写,请使用项目缩写词典或者标准前缀来帮助理解所用缩写;
    6. 代码阅读的次数远远多于编写的次数。确保你所取的名字更侧重于阅读方便而不是便携方便。


参考书籍:《代码大全》· 第二版

猜你喜欢

转载自blog.csdn.net/u010189457/article/details/77972489