首页 > 编程相关 > 修改我的C/C++程序代码风格(SLYAR)

修改我的C/C++程序代码风格(SLYAR)

2008年10月12日 14:15 Slyar 发表评论 阅读评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

声明:我决定不更改自己的代码风格。(2008年10月15日)

今天看了《华为编程规范和范例》,决定修改我的代码风格,以使我的代码和国际接轨。。。

其实我蛮喜欢我自己原来的风格的,因为可以少打很多东西,新的风格需要很多空格,需要很多回车,需要很多括号。。。我是懒人,我本不想改。。。但是没办法,现在不改以后就不好改了,我知道我的代码不是只给我自己看,所以,我还是规范一些,修改我自己的风格吧。。。

《华为编程规范和范例》在Slyar的下载基地里有,hwprogram.doc,需要的可以自己下载。

列举一下我需要修改的风格:

1、相对独立的程序块之间、变量说明之后必须加空行。

以前变量之间我是加空行的,不过像if语句段这样的程序块,我是不加空行的,需要修改。

2、if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括号{}

以前像if、for、do、while等语句的执行语句如果只有一行我就会省略{},需要修改。

3、程序块的分界符(如C/C++语言的大括号‘{’和‘}’)应各独占一行并且位于同一列,同时与引用它们的语句左对齐。在函数体的开始、类的定义、结构的定义、枚举的定义以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。

以前我习惯把"{"写在if、for等语句后面,需要修改。

4、在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如->),后不应加空格。

(1) 逗号、分号只在后面加空格。
(2)比较操作符, 赋值操作符"="、 "+=",算术操作符"+"、"%",逻辑操作符"&&"、"&",位域操作符"<<"、"^"等双目操作符的前后加空格。
(3)"!"、"~"、"++"、"--"、"&"(地址运算符)等单目操作符前后不加空格。
(4)"->"、"."前后不加空格。
(5) if、for、while、switch等与后面的括号间应加空格,使if等关键字更为突出、明显。

5、注释应与其描述的代码相近,对代码的注释应放在其上方或右方(对单条语句的注释)相邻位置,不可放在下面,如放于上方则需与其上面的代码用空行隔开。

以前放上面注释了不加空行,需要修改。

6、注意运算符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级。

以前如果是默认优先级,就不加括号了,懒。。。需要修改。

7、尽量用乘法或其它方法代替除法,特别是浮点运算中的除法。

8、不要一味追求紧凑的代码,因为紧凑的代码并不代表高效的机器码。

9、过程/函数中申请的(为打开文件而使用的)文件句柄,在过程/函数退出之前要关闭。

分配的内存不释放以及文件句柄不关闭,是较常见的错误,而且稍不注意就有可能发生。这类错误往往会引起很严重后果,且难以定位。

10、时刻注意表达式是否会上溢、下溢。

分类: 编程相关 标签:
  1. 刚子
    2010年9月4日02:13 | #1

    不喜欢if跟{一行,我都是单独一行的,看来我还是比较遵守风格的。{}各自单独一行好。

  2. 2009年12月23日12:00 | #2

    @JuncoJet 不了,我还是喜欢{独占一行...

  3. 2009年12月23日02:53 | #3

    for(int i=0;i<10;i++)(
    i--;
    }

    这个风格后来才学会的啊,学了PHP才知道这个风格的……
    很好的风格 坚持不要改 可以少打几个回车呢…… 而且代码看起来也比{独占一行的好看

  4. 2008年10月12日22:05 | #4

    那只是华为的规范,类似
    if(ooxx){
    ....
    }
    这样的代码没什么问题,也是比较常见的一种代码风格。

    Slyar 回复:

    felix,THX~

  5. 2008年10月12日21:33 | #5

    我也习惯把“{”写在if,for语句的同一行

    Slyar 回复:

    坚持这么写!

  6. 2008年10月12日16:19 | #6

    不错,。。学习了

bnuep:0801010047