程式撰寫之風格

說明

編譯器只要求文法的正確, 並不要求你用什麼樣子的格式來撰寫你的程式, 但是程式除了讓電腦暸解之外, 你也要讓自己日後能夠看得懂, 還要讓和你一起合作的夥伴們看懂, 所以你應該遵循一些大家習慣的編排格式來撰寫。

當然有的人會說程式能不能看得懂要看它的邏輯安排的狀況, 奇怪的邏輯任你用大家再熟悉的編排格式都沒有用, 不過編排的格式還是一個很關鍵的因素。

三十年的 C 軟體發展歷史當中, 有兩個主要的格式現在大家常常都遵循的: 一是 K&R 及 Berkeley UNIX 的程式撰寫風格, 二是 MicroSoft 眾多軟體的撰寫風格。 前者的流行是因為 BSD UNIX 的原始碼大量流行的關係, 後者則是因為 MicroSoft 晚近的許多發展環境都自動幫程式設計者產生一些骨架程式, 沒有人會花時間再去修改這些骨架程式, 所以其格式流傳亦廣。

本課程中要求的風格

  1. 階層式的編排

    上面以底線字元 (underscore) 代表空格, 每一層用四個空格隔開, 不要用 Tab 來安排你的程式, Tab 字元 (ASCII 0x09) 代表幾個空格視你用的編輯器而定, 並不是一個好的東西, 十年前很多人喜歡用 Tab 字元, 因為可以省下好多個位元組的儲存空間, 但是現在硬碟及記憶體空間都不是問題了, 別再用了吧! 用空格字元來排列你的程式碼還可以讓列印的時候看起來 和在螢幕上看到的一樣喔! (注意:在 TURBO C 編輯器中當你按下 enter 時, 它會自動置入 Tab 字元, 請你點選 Options/Environment/Editor... 不要選擇 Use Tab Character, 如此當你按下 enter 時, 它會以空格來編排你的程式。)

  2. 成對的大括號務必置於同一行。

  3. 適當地使用空白列來區隔功能上無關的程式碼, 使你的程式段落分明。

  4. 以英文文章中標準的標點符號打法安排標點符號及空格:

    例如:

  5. 遵循變數及函式的命名法則 , 善用變數及函式的名稱來說明程式的意圖, 再輔佐以說明文字 (例如:/* .... */), 說明文字不要多到影響程式的安排。

  6. 每一函式請以 50 列到 100 列為限, 適當地以函式分割不同功能的模組, 另一個分割函式的原則是: 每一個函式內最好只做三件獨立有意義的事, 別一下子在一個函式中做太多的工作。

  7. 非必要請嚴格避免使用全域變數

程式設計課程 首頁

製作日期: 98/11/03 by 丁培毅 (Pei-yih Ting)
E-mail: pyting@cs.ntou.edu.tw