宏和常量
◎ 宏定義和常量使用大寫字母或下劃線。
◎ 用宏定義表達式時,要使用完備的括號,如下:
#define HEHE_AREA(a, b) ((a) * (b))
◎ 宏定義中盡量不要使用return、goto、continue、break等改變程序流程的語句。
◎ 常量建議使用const定義代替宏,如下
#define ASPECT_RATIO 1.653 替換成 const double ASPECT_RATIO = 1.653;
◎ 除非必要,應(yīng)盡可能使用函數(shù)代替宏 。
◎ 將宏定義的多條表達式放在大括號中。
◎ 使用宏時,不允許參數(shù)發(fā)生變化。
◎ 盡量少用魔法數(shù),或者必須加注釋說明,或者修改方案,如內(nèi)存長度操作禁止使用常數(shù),非特殊情況必須使用sizeof自動處理。
2.6 命名
命名采用unix like風格,單詞用小寫字母,每個單詞之間用下劃線分割,引用的第三方的代碼可保持原有風格,命名盡量使用通用英文單詞或縮寫。
2.6.1 文件
文件名命名可根據(jù)平臺自有規(guī)則命名,一般采用小寫字符,字段之間使用下劃線分隔;相同功能的 .c和.h文件名相同。
2.6.2 枚舉
枚舉定義:宏定義和枚舉值禁止使用小寫字母,不能以下劃線開頭,字段之間使用下劃線分隔,若邏輯中要標注多種狀態(tài),狀態(tài)不允許用數(shù)字表示。
2.6.3 結(jié)構(gòu)體
1、結(jié)構(gòu)體定義,若同一功能所使用到的參數(shù),盡量用結(jié)構(gòu)體來定義表示,便于相關(guān)參數(shù)獲取和設(shè)置。
2、純業(yè)務(wù)邏輯代碼,與平臺無關(guān)的,必須使用小寫字符和下劃線分隔。
2.6.4 函數(shù)
函數(shù)名定義,函數(shù)名稱需體現(xiàn)出函數(shù)具體功能,均由功能單詞拼接組成,使用小寫字母和下劃線拼接,其中全局函數(shù)必須以xx_為前綴,在.h里面申明全局函數(shù),補充完整注釋;局部函數(shù)使用static限制。
2.6.5 變量
◎ 禁止使用全大寫字母命名變量,全局變量至少5個字母,使用高頻次的全局變量盡量簡短。
◎ 全局變量命名表達其作用,且以小寫字母g_開頭,后面拼接功能英文,如地址:g_addr。
◎ 變量名的拼接,全部使用小寫字母和下劃線拼接,函數(shù)內(nèi)局部變量允許使用單個字母。
◎ 多個同類的變量封裝成結(jié)構(gòu)體。
2.6.6 推薦命名
add/delete begin/end create/destroy insert/delete
first/last increment/decrement get/set/release up/down
lock/unlock open/close min/max old/new
start/stop next/previous source/target send/receive
-
嵌入式
+關(guān)注
關(guān)注
5141文章
19537瀏覽量
315024 -
編碼
+關(guān)注
關(guān)注
6文章
967瀏覽量
55501 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4371瀏覽量
64204
發(fā)布評論請先 登錄
評論