「程式碼是給人讀的,順便能被機器編譯。」良好的編程風格不僅提升可讀性,更是團隊協作、專案維護的基石。本文整理 C 語言編程風格的五大核心維度,助你從入門邁向專業。
if/for/while/switch/case/default 獨佔一行,務必加大括號,哪怕只有一句。int fun() {
int a = 0, b = 5, sum;
sum = a + b;
printf("Sum is %d\n", sum);
}
程式碼分四級:
① 無需註釋(自解釋)
② 風格稍弱但註釋完善
③ 風格與註釋皆弱,靠文檔補救
④ 垃圾碼(風格、註釋、文檔俱無)
/************************************************* Function: // 函數名 Description: // 功能、效能描述 Calls: // 被調用函數列表 Called By: // 調用本函數的函數列表 Input: // 輸入參數說明 Output: // 輸出參數說明 Return: // 返回值說明 Others: // 其它說明 *************************************************/
} /* end of while */。a,b,i 僅限迴圈計數器)。| 類型 | 規範 | 範例 |
|---|---|---|
| 變數/結構體變數 | 駝峰,小寫開頭 | imgWidth, studentName |
| 結構體類型 | 駝峰,大寫開頭 | StudentInfo |
| 函數(公有 API) | 下劃線,大寫開頭 | UART_Send_Data() |
| 函數(私有) | 下劃線,小寫開頭 + static | static void uart_init() |
| 常量/全域變數/結構成員 | 匈牙利前綴 c_/g_/m_ | g_totalCount, m_buffer |
| 宏定義 | 全大寫 + 下劃線 | MAX_ARRAY_LENGTH |
| 頭文件防重複宏 | 文件名大寫 + 首尾下劃線 | _IMAGE_PROCESSING_H_ |
| 標號 | 全小寫 + _label | end_label: |
=0,指標 =NULL。const。in/out 參數,只讀參數加 const。風格無絕對標準,但團隊內必須統一。從今天開始,用「給新手讀」的標準審視每一行代碼,養成專業習慣,受益職業生涯。