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