譯者序:這是一篇寫於1996年1月23日的文章,到現在已經有9個年頭了,很陳舊,有可能跟不上形勢,但是有些東西仍然值得現在的開發者學習,我翻譯這篇文字僅供讀者參考。
原文鏈接:http://www.gamedev.net/reference/articles/article708.asp
文件
頭文件有".h"後綴。頭文件包含類(class),結構(struct),和聯合(union)的聲明,枚舉(enum)的聲明,#define,typedef。
實現文件有一個".cc" (UNIX) 或者".cpp" (Windows, DOS)後綴。實現文件包括函數和方法的實現。
在頭文件和源代碼文件中安排一個頁眉。頁眉可以包含標題,作者,日期,和一些工程的信息,比如這個文件是配合整個工程的。
一些名字
通用C++字符的名字:
(注:這些都是符號的英文原名,目前並沒有完全標准化的漢語詞匯對應,所以後面的翻譯只是個人建議)
{ open brace, open curly左花括號 } close brace, close curly 右花括號 ( open parenthesis, open paren 左圓括號 ) close parenthesis, close paren 右圓括號 [ open bracket 左方括號 ] close bracket 右方括號 . period, dot 句號,點 ! exclamation point, bang, not 歎號,否 | bar, vertical-bar, or, or-bar (actually a "vertical virgule") 豎線,按位或 & ampersand, and, reference, ref 和,按位與,引用,取地址 * asterisk, multiply, star, pointer 星號,乘號,星,指針 / slash, pide 斜線,除號 // slash-slash, comment 雙斜線,注釋符 # pound 井號 (宏:#,參考 把符號轉化為字符串的宏技巧) \ backslash, (sometimes "escape") 反斜線,(有時候做轉義符)(還有一個:續行符) ~ tilde 按位取反
基本類型 "char" 通常發音是"charcoal."的首音節。有時念作 "care" 或者 "car."
名字和排版
命名約定的名字
interspersed_underscores 中間下劃線
lowercaseMixedCapital 小寫混合(首字母)大寫;
CapitalMixedCapital (首字母)大寫混合(首字母)大寫;
ALL_UPPERCASE 全部大寫
命名約定的應用
enumeration_item_name 枚舉,小寫加下劃線;
variableName 變量,小寫前綴加首字母大寫後綴;
TypeName, ClassName, MethodName() 類型名,類名,方法名,首字母大寫前後綴;
UnixFileName.cc Unix/Linux文件名:每個單詞首字母大寫;
dosfn.cpp windows/dos文件名:全部小寫;
POUND_DEFINES 宏定義,全部大寫;
自成檔代碼(也就是沒有文檔,僅靠注釋和代碼說明的源代碼文件)
程序中為每個名字使用完整拼寫.
避免直接使用數字(Magic number)
不允許出現除了0(有時也包括1)之外的數字常量. 使用常變量或者宏定義(#defines).
空白
空格(按空格鍵得到) ;
新行(按回車鍵得到) ;
制表符(tab) (用8個空格代替) ;
空白和排版
左花括號之後, 每行縮進4個空格直到對應的右花括號出現.;
如果if, while, 或 for 後面沒有跟花括號, 下一行縮進兩個空格;
冒號結尾的語句,反向縮進兩個空格(public, case);
保留字(if, else, class, struct) 前後要加1個空格除非已經因為新行或者特殊標點做了縮進;
運算符和比較符前後要有一個空格 (除了!之外);
指針變量 (&,*) 聲明的時候要前後加一個空格;
指針變量 (&,*) 在表達式中,前面(不是後面)要加一個空格llowed) ;
左圓括號後要加一個空格;