宏和常量
◎ 宏定義和常量使用大寫字母或下劃線。
◎ 用宏定義表達(dá)式時(shí),要使用完備的括號(hào),如下:
#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ù)代替宏 。
◎ 將宏定義的多條表達(dá)式放在大括號(hào)中。
◎ 使用宏時(shí),不允許參數(shù)發(fā)生變化。
◎ 盡量少用魔法數(shù),或者必須加注釋說明,或者修改方案,如內(nèi)存長度操作禁止使用常數(shù),非特殊情況必須使用sizeof自動(dòng)處理。
2.6 命名
命名采用unix like風(fēng)格,單詞用小寫字母,每個(gè)單詞之間用下劃線分割,引用的第三方的代碼可保持原有風(fēng)格,命名盡量使用通用英文單詞或縮寫。
2.6.1 文件
文件名命名可根據(jù)平臺(tái)自有規(guī)則命名,一般采用小寫字符,字段之間使用下劃線分隔;相同功能的 .c和.h文件名相同。
2.6.2 枚舉
枚舉定義:宏定義和枚舉值禁止使用小寫字母,不能以下劃線開頭,字段之間使用下劃線分隔,若邏輯中要標(biāo)注多種狀態(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ù)邏輯代碼,與平臺(tái)無關(guān)的,必須使用小寫字符和下劃線分隔。
2.6.4 函數(shù)
函數(shù)名定義,函數(shù)名稱需體現(xiàn)出函數(shù)具體功能,均由功能單詞拼接組成,使用小寫字母和下劃線拼接,其中全局函數(shù)必須以xx_為前綴,在.h里面申明全局函數(shù),補(bǔ)充完整注釋;局部函數(shù)使用static限制。
2.6.5 變量
◎ 禁止使用全大寫字母命名變量,全局變量至少5個(gè)字母,使用高頻次的全局變量盡量簡短。
◎ 全局變量命名表達(dá)其作用,且以小寫字母g_開頭,后面拼接功能英文,如地址:g_addr。
◎ 變量名的拼接,全部使用小寫字母和下劃線拼接,函數(shù)內(nèi)局部變量允許使用單個(gè)字母。
◎ 多個(gè)同類的變量封裝成結(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)注
5126文章
19446瀏覽量
313344 -
編碼
+關(guān)注
關(guān)注
6文章
965瀏覽量
55374 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4365瀏覽量
63913
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論