zoukankan      html  css  js  c++  java
  • Google放出C++代码风格规范

    日前Google放出了C++代码风格规范,可以在此处找到: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml

    这是一份详尽的C++开发代码风格规范,和许多其他公司出的规范一样,这份规范规定了大量应该做什么,不应该做什么的问题,摘抄几个个人认为比较有意思的几个方面:

    1、尽量避免异常的编写,这个恐怕是很多学现代语言的人所很不能够忍受的,尤其是从java那边过来的,或者是C++中编写异常安全代码的人所不能够接受的,上面的规范也仔细的提及了赞同的与不赞同的观点。正如C++的产生是由其历史原因的,兼容C的代码以及与C类似的风格,导致很多用C++的第三方库不一定都使用了异常,这就导致了异常的检查会变得非常麻烦,Google考虑到了更多第三方兼容的原因,要求在代码中尽可能避免异常编写。

    2、RTTI的使用,异常都已经被尽可能的移出了,RTTI也就自然被禁用了。

    3、实现文件的命名,很有意思,用.cc来命名,不是常见的cpp,没看出来有什么好处!?

    4、内联函数放置在-inl.h中,这个比直接在.h文件中要清楚一些,通过文件名就可以区分是普通的头文件还是内联函数文件。

    5、Google提供了一个用来检查符合这个规范的python程序文件cpplint.py。Google还是很喜欢Python的风格的。

    6、避免匈牙利命名法,这个可能很难在windows平台上经常性开发MFC程序的人接受了。

    7、对于LPCTSTR的说法,是显示的描述比那个隐含的描述要好一些,于是要求尽可能使用const TCHAR* 来定义

    8、对于参数引用,要求必定是const类型,这个很有必要,虽然引用也可以传出值,但是在调用方,并不能够从代码中一眼就可以很清楚的看出,这个

    引用是可能返回值的,也极其容易导致代码中风格规范的不一致,用指针来表示传出值,相对就会更加明显一点,如果两者结合起来,就很容易明白什么样的参数是传递进去的,什么样的参数可能会有传出值。

    其他的规范,在其他公司出的命名规范或者代码风格规范中,也是有类似或者相同的说法,就不列出来了,想要看的,直接去

     http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml

    当然,google的东西也不全是ok的,是好是非,自个儿取舍,关键是自己有一个稳定的代码风格。

  • 相关阅读:
    内存对齐规则
    ATL窗口
    ATL的GUI程序设计(4)
    ATL的GUI程序设计(4)
    ATL的GUI程序设计(3)
    ATL的GUI程序设计(3)
    VMware Workstation 9.0 安装苹果Mac OS X10.9系统
    高级UIKit-03(NSFileManager、NSFileHandle)
    高级UIKit-02(文件操作)
    高级UIKit-01(总结基础UIKit)
  • 原文地址:https://www.cnblogs.com/rubylouvre/p/1979374.html
Copyright © 2011-2022 走看看