1. 驼峰命名法
1.1 小驼峰法
除第一个单词之外,其他单词首字母大写(常用于:变量)
int myStudentNumber
1.2 大驼峰法(帕斯卡命名法)
每一个单词的首字母都采用大写字母(常用于:类名,函数名,属性,命名空间)
class StudentFamily
2. 匈牙利命名法
变量名=属性+类型+对象描述,这样做的好处是使程序员第一眼看到变量时就对变量的类型和其它属性有直观的了解。
2.1 匈牙利命名法 - 属性
全局变量 | g_ |
常量 | c_ |
类的成员变量 | m_ |
静态变量 | s_ |
2.2 匈牙利命名法 - 类型
数组 | a | 长整型 | l |
指针 | p | 布尔型 | b |
函数 | fn | 浮点型 | f |
句柄 | h | 字符串 | sz |
计数 | c(cnt) | 字符 | ch |
字节 | w | 字节 | by |
短整型 | n | 双字节 | dw |
整型 | n(i) | 无符号 | u |
双精度型 浮点型 | d | 无效 | v |
2.3匈牙利命名法 - 描述
大 | Max | 最小 | Min |
初始化 | Init | 临时变量 | Temp |
源对象 | Src | 目的对象 | Dest |
3.下划线命名法
所有字母均小写,每个单词间以下划线分割
int student_number
4.实例
1.变量命名
m_iMyData 是一个匈牙利命名法,m_表示它是成员变量,小写的i说明了它是个整型,后面的和帕斯卡命名相同,指示了该变量的用途
myData 是一个骆驼命名法,它第一个单词的第一个字母小写,后面的单词首字母大写,看起来像一个骆驼
MyData 就是一个帕斯卡命名的示例
my_data 是一个下划线命名的示例
2.结构体命名
typedef struct student_info_s{
int age;
char name[128];
}student_info_t;
student_info_t student_info;
student_info.age = 100;
strcpy(student_info.name, "zhangsan");
typedef union {
unsigned long addr;
struct page *page;
dma_addr_t dma;
} addr_conv_t;
enum {
IOCB_CMD_PREAD = 0,
IOCB_CMD_PWRITE = 1,
IOCB_CMD_FSYNC = 2,
IOCB_CMD_FDSYNC = 3,
/* 4 was the experimental IOCB_CMD_PREADX */
IOCB_CMD_POLL = 5,
IOCB_CMD_NOOP = 6,
IOCB_CMD_PREADV = 7,
IOCB_CMD_PWRITEV = 8
};
参考:https://blog.csdn.net/ZCF1002797280/article/details/51495229
命名建议:
1.变量名 见名知意,最好不要超过10个长度
mqtt_connect_status.connected //不好的命名
mqtt_status.connected //好的名字
2. 函数命名 主体+功能
float UAV_GetGpsStatus() { }