C語言編碼規範 5--變量、結構、常量、宏


C語言編碼規範1--文件與目錄                         https://blog.csdn.net/RootCode/article/details/93221475

C語言編碼規範 2--排版                                   https://blog.csdn.net/RootCode/article/details/93222263

C語言編碼規範 3 --註釋                                  https://blog.csdn.net/RootCode/article/details/93223912

C語言編碼規範 4 --可讀性                               https://blog.csdn.net/RootCode/article/details/93226117

C語言編碼規範 5--變量、結構、常量、宏       https://blog.csdn.net/RootCode/article/details/93226847

C語言編碼規範 6--函數                                    https://blog.csdn.net/RootCode/article/details/93227533


 

1、爲了方便書寫及記憶,變量類型採用如下重定義:

typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned long int uint32_t;
typedef signed char int8_t;
typedef signed short int16_t;
typedef signed long int int32_t;

#define __IO volatile


2、常見類型的前綴
(1)對於一些常見類型的變量,應在其名字前標註表示其類型的前綴。前綴用小寫字母表示。前綴的使用請參照下列表格中說明。

(2)對於幾種變量類型組合,前綴可以迭加。

3、變量作用域的前綴
爲了清晰的標識變量的作用域,減少發生命名衝突,應該在變量類型前綴之前再加上表示變量作用域的前綴,並在變量類型前綴和變量作用域前綴之間用下劃線‘-’隔開。
具體的規則如下:
(1)對於全局變量(global variable),在其名稱前加“g”和變量類型符號前綴。

uint32_t g_ulParaWord;

uint8_t g_ucByte;

(2)對於靜態變量(static variable),在其名稱前加“s”和變量類型符號前綴。

static uint32_t s_ulParaWord;

static uint8_t s_ucByte;

(3)函數內部等局部變量前不加作用域前綴。
(4)對於常量,當可能發生作用域和名字衝突問題時,以上幾條規則對於常量同樣適用。注意,雖然常量名的核心部分全部大寫,但此時常量的前綴仍然用小寫字母,以保持前綴的一致性。


4、對於結構體命名類型,表示類型的名字,所有名字以小寫字母“tag”開頭,之後每個英文單詞的第一個字母大寫(包括第一個單詞的第一個字母),其他字母小寫,結尾_T 標識。單詞之間不使用下劃線分隔,結構體變量以 t 開頭。

/* 結構體命名類型名 */
typedef struct tagBillQuery_T
{
    //...
}BillQuery_T;

/* 結構體變量定義 */
BillQuery_T tBillQuery;

// 對於枚舉定義全部採用大寫,結尾_E 標識。
typedef enum
{
    KB_F1 = 0,     /* F1 鍵代碼 */
    KB_F2,         /* F2 鍵代碼 */
    KB_F3          /* F3 鍵代碼 */
}KEY_CODE_E;

5、常量、宏、模版的名字應該全部大寫。如果這些名字由多個單詞組成,則單詞之間用下劃線分隔。
宏指所有用宏形式定義的名字,包括常量類和函數類;常量也包括枚舉中的常量成員。

#define LOG_BUF_SIZE 8000


6、不推薦使用位域。

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章