一章:縮進格式
對于函數,選擇、循環控制,在進入下級的程序段時,為了使結構清晰,一般將下級的程序段向后縮進一段位置。縮進的大小是為了清楚地定義一個塊的開始和結束,特別是當你已經編寫了很長的代碼時,你會發現一個大的縮進格式使得你對程序的理解更容易,因為程序更有層次感,可以最快地找到需要查看的程序塊。
建議使用一個TAB位置(8個字節)進行縮進,有些代碼編輯工具顯示一個TAB位置為4個字節,這些都能使程序更清晰。8個字符的縮進使得程序易讀,還有一個附加的好處,就是它能在你將程序變得嵌套層數太多的時候給你警告。這個時候,你應該修改你的程序,太多的嵌套對于程序執行的效率和易讀性都是致命的殺手,可以考慮使用函數或者改變程序結構。“縮進”有很多功能,特別是當它建議你重新格式你的代碼的時候,你應該看看幫助。但要記住:“縮進”不是風格很差的程序的萬靈丹。
二章:大括號的位置
另外一個C程序編程風格的問題是對大括號的處理。同縮進大小不同,幾乎沒有什么理由去選擇一種而不選擇另外一種風格,但有一種推薦的風格,它將開始的大括號放在一行的最后,而將結束大括號放在一行的第一位,如下所示:一般情況下,有下列幾種書寫方式:
(1)if(條件)
{
語句序列
}
(2)Kernighan和Ritchie的經典方式
if(條件){
語句序列
}
(3)if(條件) { 語句序列}
推薦使用(1)方式,很明顯,這種方式能更清楚地看到程序塊的開始和結束的位置。但對于很簡單的程序塊,也可以使用(3)方式。
三章:命名系統
C是一種簡潔的語言,那么,命名也應該是簡潔的。除了常用的規則,還要養成一個良好的命名習慣。不要使用漢語拼音命名,盡量使用英文單詞、常用的縮寫、下劃線、數字等,這樣更容易理解變量的意義。但是也要避免過長的變量名和函數名。例如:一個C語言的程序員會將之命名為“tmp”,這很容易書寫,且并不是那么難以理解。
四章:函數
一個函數的最大長度和函數的復雜程度以及縮進大小成反比。于是,如果你已經寫了簡單但長度較長的的函數,而且你已經對不同的情況做了很多很小的事情,寫一個更長一點的函數也是無所謂的。另外一個需要考慮的是局部變量的數量。它們不應該超過5~10個,否則你有可能會出錯。重新考慮這個函數,將它們分割成更小的函數。人的大腦通常可以很容易地記住7件不同的事情,超過這個數量會引起混亂。
五章:注釋
注釋一般采取的兩種方式:對一個程序塊注釋和對一行程序注釋。
/*比較x,y大小*/
if(x>y)
{t=x;
x=y;
y=t; /*交換x,y*/
}
注釋是一件很好的事情,但是過多的注釋也是危險的,不要試圖解釋你的代碼如何如何好。你應該將代碼寫得更好,而不是花費大量的時間去解釋那些糟糕的代碼。
六章:空格與空行
不要讓自己的程序過于擁擠,這樣同樣影響可讀性,善于使用空格區分一句程序中的變量、符號、表達式等,使它們對照整齊或者更清晰,善于使用空行區分程序塊。
結束語對于這些約定俗成的風格,不一定非要嚴格使用,你也可以有自己獨特的風格。但是在團隊開發時,一定要統一例如命名系統等主要的風格,這樣團隊成員協同工作能達到一個最好的效率。記住一點,我們的目的應該是寫出可讀性、移植性、可維護性等更好的程序。