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的,是好是非,自个儿取舍,关键是自己有一个稳定的代码风格。

/*
*
* Copyright (c) 2011 Ubunoon.
* All rights reserved.
*
* email: netubu#gmail.com replace '#' to '@'
* http://www.cnblogs.com/ubunoon
* 欢迎来邮件定制各类验证码识别,条码识别,图像处理等软件
* 推荐不错的珍珠饰品,欢迎订购 * 宜臣珍珠(淡水好珍珠) */
原文地址:https://www.cnblogs.com/ubunoon/p/google_cplusplus_styles_guid.html