eXile 的专栏

C++代码风格谷歌版

   原文地址: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml?showone=Displaying_Hidden_Details_in_this_Guide#Naming

   谷歌的C++代码风格与网上广为流传的林锐风格有很大不同,不过正如文中所言:重要的是保持一致。它还说出了每一种风格的优缺点,这里只说几个比较有意思的。
  
   1)关于空行:
   基本原则:使一个屏幕能容纳更多的代码(显然,这是K&R风格的拥趸)
 
   2) 关于引用参数:
   所有的引用前加 const, 如下列:
   void f(const Object& in, Object& out);  // bad
   void f(const Object& in, Object* out);  // good

   以上两点倒是和Qt相似,还有一个相似的地方是:尽量不要用 unsigned。

   3)关于全局变量:
   禁止使用类全局变量,可以使用一些内置类型的全局变量。(为了避免初始化顺序问题)。

   4)不提倡的C++特性:
   尽量不要使用多重继承;
   尽量不要使用操作符重载;
   尽量不要使用函数重载;
   不要使用函数缺省参数;
   不要使用异常;
   不要使用RTTI;
   内置的整性类型只使用int.(64位可使用int64_t, 指针兼容可使用intptr_t或ptrdiff_t).

   具体的理由和更多的风格参见原文。
   另外,还可以和Java风格做个对比:
   http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html

posted on 2008-07-01 15:24 eXile 阅读(5564) 评论(8)  编辑 收藏 引用 所属分类: C/C++

评论

# re: C++代码风格谷歌版[未登录] 2008-07-01 16:06 关中刀客

还是把所有的const和&全部的去掉吧  回复  更多评论   

# re: C++代码风格谷歌版 2008-07-01 17:36 true

google赞成用boost?总感觉太大了  回复  更多评论   

# re: C++代码风格谷歌版 2008-07-01 17:59 eXile

@true
we only allow an approved subset of Boost features. Currently, only boost/compressed_pair.hpp is permitted
目前,只允许使用 boost/compressed_pair.hpp, 等于没有,
而且这个compressed_pair只是为了优化结构布局,如果在谨慎地使用模板前提下,没有多少价值。  回复  更多评论   

# re: C++代码风格谷歌版 2008-07-02 10:53 陈梓瀚(vczh)

boost违反了一下规则

4)不提倡的C++特性:
尽量不要使用多重继承;
尽量不要使用操作符重载;
尽量不要使用函数重载;
不要使用函数缺省参数;
不要使用异常;
不要使用RTTI;
内置的整性类型只使用int.(64位可使用int64_t, 指针兼容可使用intptr_t或ptrdiff_t).

所以呢,这说明什么,很明显  回复  更多评论   

# re: C++代码风格谷歌版 2008-07-04 09:17 天涯明月刀

林锐基本属于误人子弟型  回复  更多评论   

# re: C++代码风格谷歌版 2008-07-10 13:42 fr3@K

小弟认为完全地禁用异常并不可取, 详见:
http://fsfoundry.org/codefreak/2008/07/06/google-forbids-use-of-exception-in-cpp/  回复  更多评论   

# re: C++代码风格谷歌版 2008-08-16 18:12 沈臻豪(foxtail)

站在不同的角度上看完问题得到的结论是不同的@天涯明月刀
  回复  更多评论   

# re: C++代码风格谷歌版 2008-10-04 10:28 guoke

“尽量不要使用操作符重载”
那麻烦大哥们 也不要使用 STL了,因为里面大多用到了Function Object的东东,重载了operator()  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

统计

常用链接

留言簿(18)

随笔分类

随笔档案

服务器编程

搜索

最新评论

阅读排行榜

评论排行榜