編碼規范即我們在編寫代碼時需要遵守的一些規則。好的編碼規范可以大大提高代碼的可讀性和可維護性,甚至提高程序的可靠性和可修改性,保證了代碼的質量。特別是在團隊開發大型項目時,編碼規范就成為了項目高效運作的重要要素。本文將簡要介紹在編寫C++程序時必須遵循的編碼規范。
養成良好的習慣
- 程序快縮進,要使用Tab鍵縮進,不能和空格鍵混合使用。
- 函數不要太長,如果太長,建議拆分處理。
- 不要使用太深的if嵌套語句,可以使用函數來代替。
- 雙目操作符號前后加空格,以更加醒目。
- 單目操作符前后不加空格。
- 不要使用太長的語句,如果太長,可以分行處理。
- 每個模板中只有一個類。
- if、while、for、case、default、do等語句要獨占一行。
- 一行不能寫多條語句。
- 如果表達式中有多個運算符,要用括號標出優先級。
上述建議只是眾多風格的主要部分,在實際編寫過程中,還需要遵循更多的規范。
必須使用的注釋
注釋可以幫助閱讀程序,通常用于概括算法、確認變量的用途或者闡明難以理解的代碼段。注釋并不會增加可執行程序的大小,編譯器會忽略所有注釋。
C++中有兩種類型的注釋:單行注釋和成對注釋。單行注釋以雙斜線(//)開頭,行中處于雙斜杠右邊的內容是注釋,被編譯器忽略。例如:
//計算m和n的和
z=add(m,n);
另一種定界符:注釋對(/**/),是從C語言繼承過來的。這種注釋以“/*”開頭,以“*/”結尾,編譯器把落入注釋對“/**/”之間的內容作為注釋。例如:
/*計算m和n的和
Z只是個簡單函數
*/
z=add(m,n);
任何允許有制表符、空格或換行符的地方都允許放注釋對。注釋對可跨越程序的多行,但不是一定要如此。當注釋跨越多行時,最好能直觀地指明每一行都是注釋的一部分。我們的風格是在注釋的每一行以星號開始,指明整個范圍是多行注釋的一部分。
程序通常混用兩種注釋形式。注釋對一般用于多行解釋,而雙斜線注釋則常用于半行或單行的標記。太多的注釋混入程序代碼可能會使代碼難以理解,通常最好是將一個注釋塊放在所解釋代碼的上方。
當改變代碼時,注釋應與代碼保持一致。程序員即使知道系統其他形式的文檔已經過期,還是會信任注釋,認為它會是正確的。錯誤的注釋比沒有注釋更糟,因為它會誤導后來者。
在使用注釋時,必須遵循下述原則。
- 禁止亂用注釋。
- 注釋必須和被注釋內容一致,不能描述和其無關的內容。
- 注釋要放在被注釋內容的上方或被注釋語句的后面。
- 函數頭部需要注釋,主要包含文件名、作者信息、功能信息和版本信息。
- 注釋對不可嵌套:注釋總是以“/*”開始并以“*/”結束。這意味著,一個注釋對不能出現在另一個注釋對中。由注釋對嵌套導致的編譯器錯誤信息容易使人迷惑。
本文節選自《Visual C++ 開發從入門到精通》