Chinaunix首页 | 论坛 | 博客
  • 博客访问: 407750
  • 博文数量: 155
  • 博客积分: 2590
  • 博客等级: 少校
  • 技术积分: 2161
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-25 09:33
文章分类

全部博文(155)

文章存档

2015年(1)

2014年(2)

2013年(55)

2012年(97)

分类: C/C++

2012-10-26 11:03:42

C++/C就像他没有二进制标准一样,没有统一的代码风格,有unix风格的,有匈牙利风格的。自己很长一段时间也是比较郁闷,后来看到google C++ style的文档受益匪浅。但是STL、MS、Qt等代码风格各有不同,个人就产生了一些思考。

  1. 缩进
    1. tab还是空格?更多的文档推荐用空格去而不用tab,仍旧有些会说tab的好处。
    2. 2、4、8个空格?这对应着不同的缩进深度,2个空格是不是不明显?8个空格是不是按的手疼?4个空格似乎更好些,但是如果多级缩进就会比2个空格更早的超出80个字符的边界了。
  2. 括号
    1. 括号(或者其他运算符)是跟在行尾还是另起一行呢?放到行尾知道下一行还有内容,放到下一行的理由是你没有“;”这一行一定没有完成,更能知道单独一行是从上一行的继续。
  3. 变量与命名
    1. 类变量在前还是函数在前?
    2. 匈牙利命名,还是驼峰,还是全小写下划线分割?STL和unix系的大师们都是下划线分割,匈牙利似乎是MFC的专宠,而驼峰在Qt中大量使用而像java、C#这些语言也是这样的风格。
    3. 成员变量怎么定义,加m还是加m_还是加_后缀还是不加任何修饰
    4. 需不需要在变量前加类型标识?如果使用的都是原始类型的数据这似乎很有效的区分变量的类型,但是我们大量自定了很多类型似乎这条规则似乎就不那么好用了?
  4. 头文件定义顺序
    1. 先自定义头文件后系统头文件,能够更快地发现自定义文件中的冲突。
    2. 先系统头文件后自定义文件,减少隐藏头文件的依赖。
  5. 注释
    1. 注释的第一个目的就是让看代码的人快速的了解代码的意思,还有一个功能就是能够生成开发文档
    2. doxygen是一个比较通用的更加注释生成文档的工具,开源界更倾向于这种风格的注释。
  6. 文件
    1. 一个文件一个类还是按功能分文件?
    2. 文件尾多一个空行?似乎这没有什么害处。
  7. 总结
  1. 不管那种风格,在一个项目中都应该是统一的,不管你的好恶如何
  2. 什么风格的注释我所谓,关键你应该有注释并把事情说明白
  3. 不管什么风格,你的代码一定是优美整洁的
  4. 代码风格的一切是为了效率的平衡

阅读(2236) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~