快捷搜索:   服务器  安全  linux 安全  MYSQL  dedecms

谈谈C++的程序规范--变量命名

    首先我不是c++的专家,甚至可以说我是新手。其次我没有看过专门讲程序规范的书,这里所谈到的主要是平时看书时随时记下的或者多年写程序的经验。我工作的地方对程序风格的要求也没有一些公司要求的那么严,所以文中肯定有很多不对的地方,希望大家指正。

    说起程序规范,内容实在太多了,这里先浅谈一点变量命名规范吧。

    变量的命名十分重要,如果你在一个较大的项目中写程序,或者希望自己现在写好的程序几个月后任何人拿来都能清晰的看懂,命名规范是不可缺少的。

    先说的第一点就是名字本身一定要有意义,让人看了这个变量就知道他是干什么的。这大概是几年前我看一本java的书时提到的,其中重点强调的就是人们写程序循环或者临时用一下的变量总将其命名为int i, j , k之类的,这是个极坏的习惯,改掉这个毛病之后我发现自己的程序易读性增强了很多。一次我们组一个很聪明的同事写一段比较复杂的字符串分析的程序,所有字符指针都用char *i, *j, *k来表示,由于分析比较复杂,当他用到char *n的时候终于受不了了。把每个变量都按照他的意义重写。字串中第一此出现逗号的位置就叫 char *pchrfirstcomma, 等等,一下子程序显得清晰了无数。建议大家都这么作。真的是临时用一下就扔掉的临时变量就叫int inttemp, 或者float ftemp之类的。

    第二点大概是用vc++用多了的习惯,就是所有的成员变量前面都写一个m_,这样很清楚的区分开个成员变量和临时变量,不会出现以下情况

 class a
{
    a(int intnumber);
    int intnumber;
}

a:a(int intnumber)
{
    //这里intnumber到底是成员变量还是;临时变量?当然你可以分析出来,再用this->来区分,但是这完全是无用功,如果变量名起的好,这个问题根本就不会出现。
}


    第三点是变量名前面最好用几个字母表示其类型。微软提倡的是他们的一位传奇工程师流下的规范,?quot;hungarian notation\",大概翻译成匈牙利命名法,整数用int,浮点数用flt,字符用chr。我觉得三个字母的限制有时后有些太局限,就自己加了些自己能懂得。显然cstring和string都很符合叫str,最好自己规定清楚。有时候数据是个很复杂的class

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论