通俗易懂说软件编程规范(2)struct、union、enum使用规范
1. struct、union、enum范例
//结构体 struct 范例
typedef struct tagADD_TWO_NUM{
……
}ADD_TWO_NUM_S;
//联合体 union范例
typedef union tagDATA_CATEGORY{
……
}DATA_CATEGORY_U;
//枚举 enum 范例
typedef enum tagDATA_NUM{
……
}DATA_NUM_E;
2. struct、union、enum使用说明
- 所有复杂数据类型都以 tag 为前缀,
tag 后面接模块名以及具体意义,大写+下划线分隔 - 下划线中的最后一个字母为后缀,
其中,_S表示struct;
_U 表示union;
_E 表示enum;
_pf 表示函数指针 - 命名合理,数据排列尽量对齐以节省空间
3. enum 开源代码书写规范
开源代码 libinjection 里面的标记是这样写的
enum sqli_flags{
FLAG_NONE = 0
, FLAG_QUOTE_NONE = 1 /* 1 << 0 /
, FLAG_QUOTE_SINGLE = 2 / 1 << 1 /
, FLAG_QUOTE_DOUBLE = 4 / 1 << 2 */
……
};
- 缩进 空格规范 2. 1/2/4/8/16……