程式碼撰寫原則(Programming Rules)

Ping-Lun Liao
3 min readNov 7, 2019

--

本部落格的文章「 程式碼維護上的難題(The Challenges and Difficulties of Code Maintenance) 」說明了程式碼若沒有好好撰寫時,往往會造成維護上的困難。於是筆者參考網路資源與自己經驗來整理出來一些常見的 Programming Rules 之要點,細節說明還請讀者自行閱讀參考資料。

風格(Style):
全域變數使用描述性的名稱,局部變數則使用簡短的名稱。
保持一致。
函式採用主動的名稱。
保持精確。
利用縮排來顯示結構。
表示式使用自然形式。
利用括號來讓語意明確。
拆開複雜的表示式。
保持清楚。
當心副作用。
使用一致的縮排風格與大括號風格。
採用慣用的表達方式以保持一致。
利用else-if來處理多重決策。
避免使用函式巨集。
將巨集主體和引數以括弧圍住。
為魔術數字取名稱。
使用字元常數,不要使用整數常數。
利用程式語言計算某個物件的大小。
不要在明顯的事情上花太多功夫。
註解函式和全域資料。
不要註解爛程式碼,乾脆改寫它。
註解不要與程式碼牴觸。
保持清晰,不要製造困惑。

介面(Interface):
隱藏實作細節。
選擇一小組剛好夠用的原始功能。
不要在使用者背後做些他們無法察覺的事。
每一個地方都用同樣的方式作同一件事。
以和配置資源相同的層級來釋放資源。
在低階的地方偵測錯誤,在高階的地方處理它們。
只有在例外的情況下才使用例外。

效能(Performance):
使時間測定自動化。
運用效能分析工具。
將注意力集中在問題點上。
畫一張圖。
採用較佳的演算法或資料結構。
啟動編譯程式最佳化功能。
調整程式碼。
無關緊要的東西不要做最佳化處理。
集中共同的子表示式。
以廉價的操作取代昂貴的操作。
展開迴圈或是將它們刪除。
以快取緩衝區處理經常使用的值。
寫一個特殊目的之配置函式。
緩衝處理輸入與輸出。
分開處理特殊案例。
預先計算結果。
利用近似值。
以低階語言改寫。
採用可能的最小資料型態來節省空間。
不要儲存你能輕易計算的東西。

移植性(Portability):
遵循標準。
以主流的方式設計程式。
當心程式語言的問題點。
多嘗試幾種編譯程式。
使用標準函式庫。
只使用那些到處都有的功能。
避免條件式編譯。
把和系統相依的事物分開在不同的檔案中。
把和系統相依的事物隱藏在介面後面。
使用文字來交換資料。
用固定位元組順序來交換資料。
如果你變更了規格,就改變名稱。
與現有的程式及資料保持相容。
不要預先假設使用的都是ASCII。
不要以英文為預設角度。

Originally published at https://yunlinsong.blogspot.com.

--

--

No responses yet