常见编程代码命名风格

附件5 常见标识符命名风格种类

常见 编程标识符命名风格 种类

类别

别称

命名法逻辑 特点

举例

优缺点

常见应用场合

帕斯卡

大驼峰

大小写混排,每个单词的首字母大写。

void GetKey(void);
int TimeCount;

函数库和Jave平台下居多。

骆驼

小驼峰

大小写混排,每个单词的首字母大写,第一个单词的首字母小写。

void getKey(void);
int timeCount;

面向对象语言(Java、C#)变量、方法常用。
事实上,很多程序员在实际命名时将骆驼命名法和帕斯卡命名结合使用。例如:变量用骆驼命名法;函数用帕斯卡命名法。

匈牙利

类同
小驼峰

大小写混排,每个单词的首字母大写,第一个单词的首字母小写,小写字母用来表明标识符的属性、类型等。

标识符名:属性+类型+对象描述。
属性:g_ 全局变量;c_ 常量;m_ c++类成员变量;s_ 静态变量
类型:a数组;p指针;v无返回值;fn函数;h句柄;u无符号;
      b布尔;c字符;i整型;l长整型;f浮点型;n短整型;
      d双精度浮点;r实型;w字;dw双字;by字节;sz字符串;
描述:Max最大;Min最小;Init初始化;Temp临时变量;
      Src源对象;Dest目的对象。 

void vGetKey(void);
int g_iTimeCount;

优点:可读性很强,清晰。
缺点:变更变量类型和属性麻烦;C++是强类型,体现不出优点。随着编译器的优化,优点也在被弱化。此法争议多。

非Windows系统开发,笔者不建议使用匈牙利法,可扬长去短,保留:g_全局变量,m_成员变量,s_静态变量。

常见于Windows。

下划线

全小写,以 下划线 分割逻辑断点。上面是以大写字母为逻辑断点。

void get_key(void);
int time_count;

常见于Linux内核,C++标准库,Boost以及Ruby,Rust等语言。C、Python变量常用。

附件4 标识符命名个人风格(本人从事嵌入式 8/32位MCU)

标识符命名个人风格

标识符

其他环境

FreeRTOS环境

uCos-II环境

文件夹名

帕斯卡(大驼峰)

帕斯卡(大驼峰)

帕斯卡(大驼峰)

文件名

下划线

下划线

下划线

变量名

骆驼(小驼峰)

静态变量加前缀s_
全局变量加前缀g_
类的数据成员加前缀m_

结构体变量加前缀st_

联合体变量加前缀ut_

枚举变量加前缀et_

匈牙利 (有修改)
标识符名:类型+对象描述
类型:
uint32_t对应前缀ul
uint16_t对应前缀us
uint8_t对应前缀uc
char(仅用于字符)对应前缀c
枚举类型对应e
指针类型对应p
其他类型对应x
char *对应前缀pc

下划线

常量/宏名

全大写

小写(文件名部分)+大写
例:configUSE_PRE

全大写

函数名

帕斯卡(大驼峰)
谓-宾(动-名)结构

匈牙利 (有修改)
static限定函数对应前缀prv(私有)
API函数返回值类型为函数名前缀
API函数名使用所在的文件名,例如在tasks.c文件中函数 vTaskDelete();

帕斯卡(大驼峰)
程序类别作为前缀
OS_TaskIdle( )

方法名

帕斯卡(大驼峰)

接口名

帕斯卡(大驼峰)

类名

帕斯卡(大驼峰)
以C开头

结构体类型名

帕斯卡(大驼峰)
以S开头

联合体类型名

帕斯卡(大驼峰)
以U开头

枚举类型名

帕斯卡(大驼峰)
以E开头
枚举值同 常量/宏名

猜你喜欢

转载自blog.csdn.net/weixin_46672094/article/details/121402410