首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

寫好 C 程式的 10 條鐵律與反面教材:從 Lint 到命名規範的工程智慧

     編輯:關於C語言

前言:神乎其技,功到自成

C 語言給予程式設計師極大自由,也要求極高自律。本文整理經典「十大建議」與反面教材「如何寫爛代碼」,以幽默犀利的筆觸揭示工程本質。

一、寫好 C 程式的 10 條鐵律

  1. 頻繁跑 Lint:靜態分析工具的思慮遠超人腦,編譯器不報錯不代表沒坑。
  2. 拒絕 NULL 指標解參考:混沌癡顛必俟君於彼岸——防禦性檢查不可省。
  3. 強制轉型函數參數:即使你自以為類型無誤,也要顯式轉換匹配原型,避免隱式轉換埋下血債。
  4. 補全頭檔缺失的回傳類型:舊式頭檔常省略回傳型別,自行宣告以防不測。
  5. 親核陣列與字串越界:古人云「所期者短,所獲者長」,緩衝區溢出是 C 語言頭號殺手。
  6. 檢查每一個錯誤碼:哪怕讓代碼膨脹數倍、手指酸痛,也不可假設「異常難得一見」。傲慢必被懲戒。
  7. 善用庫函數,勿重造輪子:代碼更短、更易讀、心境更恬淡。標準庫經過無數雙眼睛審視。
  8. 括號與縮進:為維護者著想:聰明才智用於解決問題,而非製造迷霾。清晰架構是專業素養。
  9. 外部識別符前六字元唯一:舊式連結器限制看似粗陋,違之將來連結舊碼時抓耳撓腮。
  10. 拒絕平台鎖定迷思:宣稱「普天之下莫非 VAX」者,當摒棄之。程式碼應具備可移植性,而非綁定特定硬體。

二、如何寫出最爛的 C 程式(反面教材)

  • 重寫標準庫並改成晦澀名字
  • 依賴不可移植的私有庫
  • 註解寫成 // printf("Hello world"); 這種廢話
  • 鄙視換行與縮進,內嵌大量組合語言
  • 拒絕使用者介面,認為使用者不配
  • 從別人代碼隨機複製註解湊數
  • 濫用前置處理器宏替代函數
  • 相信編譯器會搞定一切細節

三、如何測試最爛的 C 程式

  • 編譯通過就怪別人代碼
  • 全是自己寫的就怪庫
  • 錯誤報告是污衊純潔名譽的謊言
  • 測試員能讀懂代碼說明寫爛功夫不到家
  • 怪公司不買 C++ 編譯器
  • 隨機增刪空行重新編譯試運氣
  • 改寫組合語言讓沒人能定位錯誤

結語

這些看似調侃的條款,實則直指工程核心:嚴謹、謙遜、可維護、可移植。寫代碼前先想「半年後的我能看懂嗎?」,這就是最好的準則。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved