一、問題引入
初入編程世界,我們不知道什么叫做好代碼,一切以實作功能和快速上線專案為主,但編程經驗增加,發現代碼越來越難寫,越來越難改,
導致這樣的原因是沒有遵循一般性的編程規則或則沒有良好的編程風格,俗話說:“無規矩不成方圓”,在編程水平上來后,就更應該遵循規則,
傻瓜都能寫出計算機可以理解的代碼,唯有能寫出人類容易理解的代碼的,才是優秀的程式員
好代碼的檢驗標準就是人們是否能輕而易舉地修改它
二、解決程序
規則涉及到:變數、函式、結構體、宏、注釋、縮進、空格、花括號等
2-1 變數
好代碼應能清楚地表明它在做什么,而變數命名是代碼清晰的關鍵
變數按照作用域可以分為:區域變數、全域變數、靜態區域變數
變數按照型別可以為:普通變數、結構體變數
-
變數采用小駝峰命名法 例如:
englishBook -
結構體變數加后綴_t 例如:
event_t -
全域變數加前綴g_ 例如:
g_mode -
靜態區域變數加前綴s_ 例如:
s_mode
2-2 函式
好的命名十分重要,但往往并非唾手可得,只有恰如其分地命名,才能彰顯出將大函式分解成小函式的價值
-
若函式無特殊用途,一律限制為
static例如:static int lib_user_id_get() -
函式命名采用匈牙利命名法 例如:
int lib_user_id_get() -
函式引數型別為指標時,若禁止通過間接參考修改值,應限制為const 例如:
static int lib_user_pwd_set(const char *pwd) -
函式引數型別為結構體時,一律傳入結構體指標,若禁止通過間接參考修改值,一律限制為const
-
函式主體部分不能過長,會影響閱讀,主體部分應控制在一個顯示幕頁面內
-
一個函式只做一件事,正如函式名定義的那樣
-
當函式引數大于三個以上的引數時,考慮把三個引數作為一個結構體
2-3 結構體
-
結構體名稱應該是名詞或名詞短語,不應該是動詞 例如:
Customer、Account -
結構體宣告時,采用大駝峰命名法,加后綴_T 例如:
EventData_T -
結構體變數定義時,采用小駝峰命名法,加后綴_t 例如:
eventData_t
2-4 宏
- 宏定義使用全大寫字母,連接符用_ 例如:
#define FILE_SIZE 1024
2-5 注釋
-
當你感覺需要撰寫注釋時,請先嘗試重構,試著讓所有注釋都變得多余
-
當邏輯比較復雜難以理解,應該加以注釋說明
-
良好的代碼是不需要注釋的,應該代碼可讀性良好
-
注釋不是越多越好,僅在關鍵地方標注注釋就好
三、反思總結
良好的代碼風格可以增加可讀性,提高可維護性,
四、參考參考
知名半導體MCU大廠軟體開發C代碼規范
重構:改善既有代碼的設計(第二版)
代碼整潔之道
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/546771.html
標籤:C
上一篇:11、指標和參考
