緣由:在VS2005和其餘的一些編輯工具中均可以定義Tab鍵擴展成爲幾個空格鍵。不用 Tab鍵的理由是Tab鍵在不一樣的狀況下會顯示不一樣的長度。4個空格的距離從可讀性來講正好。函數
在複雜的條件表達式中,用括號清楚地表示邏輯優先級。工具
緣由:在有多層控制嵌套的時候,容易看清結構和對應關係。編碼
if ( condition ) { DoSomething(); } else { DoSomethingElse(); }
不把多行語句放在一行上。spa
a = 1; b = 2; if (fFoo) Bar();
更嚴格地說,不要把不一樣的變量定義在一行上。代碼規範
不使用單個字母的變量,像i、m、n,用index等來替代,用於循環迭代的變量除外。code
for (int i = 0; i < count; i++) {}
下劃線用來分隔變量名字中的做用域標註和變量的語義,如:一個類型的成員變量一般用m_來表示。blog
全部的類型/類/函數名都用Pascal形式,全部的變量都用Camel形式:即全部單詞的第一個字母都大寫。作用域
類/類型/變量:名詞或組合名詞,如Member、ProductInfo等。get
函數則用動詞或動賓組合詞來表示,如get/set; RenderPage()。 it
複雜的註釋應該放在函數頭,不少函數頭的註釋都是解釋參數的類型等的,若是程序正文已經可以說明參數的類型in/out等,就不要重複!
註釋也要隨着程序的修改而不斷更新,一個誤導的(Misleading)註釋每每比沒有註釋更糟糕。
另外,註釋(包括全部源代碼)應只用ASCII字符,不要用中文或其餘特殊字符,它們會極大地影響程序的可移植性。