C++代碼風(fēng)格谷歌版
谷歌的C++代碼風(fēng)格與網(wǎng)上廣為流傳的林銳風(fēng)格有很大不同,不過正如文中所言:重要的是保持一致。它還說出了每一種風(fēng)格的優(yōu)缺點(diǎn),這里只說幾個(gè)比較有意思的。
1)關(guān)于空行:
基本原則:使一個(gè)屏幕能容納更多的代碼(顯然,這是K&R風(fēng)格的擁躉)
2) 關(guān)于引用參數(shù):
所有的引用前加 const, 如下列:
void f(const Object& in, Object& out); // bad
void f(const Object& in, Object* out); // good
以上兩點(diǎn)倒是和Qt相似,還有一個(gè)相似的地方是:盡量不要用 unsigned。
3)關(guān)于全局變量:
禁止使用類全局變量,可以使用一些內(nèi)置類型的全局變量。(為了避免初始化順序問題)。
4)不提倡的C++特性:
盡量不要使用多重繼承;
盡量不要使用操作符重載;
盡量不要使用函數(shù)重載;
不要使用函數(shù)缺省參數(shù);
不要使用異常;
不要使用RTTI;
內(nèi)置的整性類型只使用int.(64位可使用int64_t, 指針兼容可使用intptr_t或ptrdiff_t).
具體的理由和更多的風(fēng)格參見原文。
另外,還可以和Java風(fēng)格做個(gè)對(duì)比:
http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html
posted on 2008-07-01 15:24 eXile 閱讀(5592) 評(píng)論(8) 編輯 收藏 引用 所屬分類: C/C++