為規範個人的C語言軟體開發,同時也便於團隊內的代碼交流共用,現暫訂一種寫碼風格。
如有建議,歡迎拍磚。
宏:全部大寫,單詞間用底線隔開,不同作用的宏格式使用不同格式;
普通的編譯控制宏:如標頭檔中限制編譯時間只一次包含的宏 :
#ifndef _IMSGE_H_
#define _IMSGE_H_
//.....
#endif
功能配置宏:
//#define __DEBUG_USE_JTAG
#define __DEBUG_USE_UART
常量宏:
#define OSC_8M 1
#define OSC_72M 2
#define SYSTEM_OSCOSC_72M
結構體:
類型名:每個單詞的首字母均大寫;如(類似於Java C#等Class名)
typedefstruct
{
U8 status;
}TaskPhotoInfo;
成員名:
變數及結構體變數均這個變數首字母小寫,其餘每個單字首大寫;如
typedef struct
{
U8 status;
struct
{
U8 enable;
}ctrl;
}MsgNoticeInfo;
枚舉:
類型名:每個單詞的首字母均大寫;如
enum MsgNoticeType
{
MSG_TYPE_TFCARD_IS_FULL,
MSG_TYPE_POWER_IS_LOW,
MSG_TYPE_SIMCARD_NO_MONEY,
MSG_TYPE_USER_SET_OK
}
成員名:所有字母均大寫,單詞見用底線隔開;(原因:常量值均用大寫表示,與常量宏一致)
變數:該變數首字母小寫,其餘每個單字首大寫;如
U8 isPhotoEanble;
typedef 類型名:每個單詞的首字母均大寫;如typedef unsigned char U8 , typedef signed int S16;
函數:函數名首字母小寫,其餘每個單詞的首字母均大寫;如
void sendMsgNotice(void)
{
//…
}
檔案名稱:每個單詞的首字母均大寫,.c與.h檔案一一對應,如
SendData.c SendData.h
如有異議,歡迎拍磚!