1. 空行
- 在每個類宣告之後、每個函式定義結束之後都要加空行。
- 在一個函式體內,邏揖上密切相關的語句之間不加空行,其它地方應加空行分隔。
2. 程式碼行
- 一行程式碼只做一件事情,如只定義一個變數,或只寫一條語句。這樣的程式碼容易閱讀,並且方便於寫註釋。
- if、 for、 while、 do 等語句自佔一行,執行語句不得緊跟其後。不論執行語句有多少都要加{}。這樣可以防止書寫失誤。
- 在定義變數的同時初始化該變數。
3. 程式碼行內的空格
- 關鍵字之後要留空格。
像 const、 virtual、 inline、 case 等關鍵字之後至少要留一個空格,否則無法辨析關鍵字。像 if、 for、 while 等關鍵字之後應留一個空格再跟左括號‘(’ ,以突出關鍵字。
- 函式名之後不要留空格,緊跟左括號‘(’ ,以與關鍵字區別。
- (’向後緊跟, ‘)’ 、 ‘, ’ 、 ‘ ;’向前緊跟,緊跟處不留空格。
- , ’之後要留空格。
如 Function(x, y, z)。如果‘ ;’不是一行的結束符號,其後要留空格,如 for (initialization; condition; update)。
- 賦值運算子、比較運算子、算術運算子、邏輯運算子、位域運算子,如“ =”、 “ +=” “ >=”、 “ <=”、 “ +”、 “ *”、 “ %”、 “ &&”、 “ ||”、 “ <<” ,“ ^”等二元運算子的前後應當加空格。
- 一元運算子如“ !”、“ ~”、“ ++”、“ --”、“ &”(地址運算子)等前後不加空格。
- 像“[]”、 “ .”、 “ ->”這類運算子前後不加空格。
- 對於表示式比較長的 for 語句和 if 語句,為了緊湊起見可以適當地去掉一些空格。
如 for (i=0; i<10; i++)和 if ((a<=b) && (c<=d))
4. 對齊
- 程式的分界符‘ {’和‘ }’應獨佔一行並且位於同一列,同時與引用它們的語句左對齊。
- { }之內的程式碼塊在‘ {’右邊數格處左對齊。
5. 長行拆分
- 程式碼行最大長度宜控制在 70 至 80 個字元以內。程式碼行不要過長,否則眼睛看不過來,也不便於列印。
- 長表示式要在低優先順序運算子處拆分成新行, 運算子放在新行之首(以便突出運算子)。拆分出的新行要進行適當的縮排,使排版整齊,語句可讀。
6. 修飾符的位置
- 將修飾符 * 和 & 緊靠變數名。
7. 註釋
- 註釋是對程式碼的“提示”,而不是文件。註釋花樣要少。
- 邊寫程式碼邊註釋,修改程式碼同時修改相應的註釋,以保證註釋與程式碼的一致性。不再有用的註釋要刪除。
- 註釋應當準確、易懂,防止註釋有二義性。錯誤的註釋不但無益反而有害。
- 避免在註釋中使用縮寫,特別是不常用縮寫。
- 註釋的位置應與被描述的程式碼相鄰,可以放在程式碼的上方或右方,不可放在下方。
- 當程式碼比較長,特別是有多重巢狀時,應當在一些段落的結束處加註釋,便於閱讀。
8. 類的板式
- 建議採用“以行為為中心”的書寫方式編寫類。
- 將 public 型別的函式寫在前面,而將 private 型別的資料寫在後面,採用這種版式的程式設計師主張類的設計“以行為為中心”,重點關注的是類應該提供什麼
樣的介面(或服務)。 - 將 private 型別的資料寫在前面, 而將 public 型別的函式寫在後面, 採用這種版式的程式設計師主張類的設計“以資料為中心”,重點關注類的內部結構。
- 將 public 型別的函式寫在前面,而將 private 型別的資料寫在後面,採用這種版式的程式設計師主張類的設計“以行為為中心”,重點關注的是類應該提供什麼