一.结构体相关规范
结构体原始名称
1.华为规范:结构体名称全大写,单词之间用下划线分隔,结构体原始类型名称为 XXXX_STRU形式。
typedef struct TEACHER_STRU
{
unsigned char name[32]; /* teacher name */
unsigned char sex; /* teacher sex, as follows */
/* 0 - FEMALE; 1 - MALE */
unsigned int teacher_ind; /* teacher index */
} TEACHER;
2.Google规范:类型命名每个单词以大写字母开头,不包含下划线:MyExcitingClass、MyExcitingEnum。
所有类型命名-类、结构体、类型定义(typedef)、枚举-使用相同约定。
// classes and structs
class UrlTable { ...
class UrlTableTester { ...
struct UrlTableProperties { ...
3.其它风格-1:与华为类似,全大写字母,单次之间用下划线分隔,原始命名为XXXXX_ST_的形式,自定义命名为XXXX_ST形式。
typedef struct
{
ULONG pumpSpeed;
float outletTemp;
float inletTemp;
float inletPres;
float outletPres;
pidCntrlDefn_ST* pPid;
} PUMP_RUN_DATA_ST;
4.其它风格-2:结构体类型名称中既有大小写混合部分,也有全大写部分。大小写混合部分表示结构体名称,后面加全大写的_ST作为后缀,表示是结构体类型。
typedef struct pidCntrlDefn_ST_
{
PID_DATA_TYPE Ts; //!< PID loop interval in seconds (must be non-zero positive number)
PID_DATA_TYPE Kp; //!< gain constant - proportional (must be non-negative number)
PID_DATA_TYPE Ti; //!< time constant
} pidCntrlDefn_ST;