【日常学习】命名规则 - 驼峰命名法、帕斯卡命名法、匈牙利命名法、下划线命名法
变量如果随便起名字,不仅其他工作人员难以交接,自己看着也非常混乱,如果按照命名规则进行管理,代码可读性会大大提升
文章参考博客:局外人Lee - 三种编程规则:驼峰命名法、帕斯卡命名法、匈牙利名
f-zyj - 四种基本的编程命名规范(匈牙利命名法、驼峰式命名法、帕斯卡命名法、下划线命名法)
编程中,对于变量通常有四种通用的命名方法,驼峰式命名法、匈牙利命名法、帕斯卡命名法、下划线命名法
驼峰式
一般都是指小驼峰命名法,用于定义变量比较多
大驼峰式命名规则:
FirstName
CamelCase
小驼峰式命名规则:
firstName
camelCase
int myAge;
char myName[10];
float manHeight;
[中间不需要空格 - _等分割符]
匈牙利
属性+类型+描述
属性一般是小写字母+_:
g_:全局变量
m_:类成员变量
s_:静态变量
c_:常量
类型就多了:
i int
c char
f float
a 数组(Array)
b 布尔值(Boolean)
by 字节(Byte)
c 有符号字符(Char)
cb 无符号字符(Char Byte,并没有神马人用的)
cr 颜色参考值(Color Ref)
cx,cy 坐标差(长度 Short Int)
dw 双字(Double Word)
fn 函数(Function)
h Handle(句柄)
i 整形(Int)
l 长整型(Long Int)
lp 长指针(Long Pointer)
n 短整型(Short Int)
np 近程指针(Near Pointer)
p 指针(Pointer)
s 字符串(String)
sz 以 Null 做结尾的字符串型(String with Zero End)
w 字(Word)
匈牙利命名法:先属性, 再指针,再简单数据类型,最后其它 ;
例如:m_lpszStr, 表示为类成员变量-长整型指针以零结束的字符串
古早命名方式,新的代码基本不用,但是时常出现在古董IDE和例程中
帕斯卡
其实就是大驼峰命名的规则,首字母大写
和小驼峰的区别就是首字母也大写,通常用来定义类Class
帕斯卡/大驼峰式命名规则:
FirstName
CamelCase
下划线
在宏定义和常量中使用比较多
函数名中的每一个逻辑断点都有一个下划线来标记
print_employee_paychecks();
p.s.
命名规范并不代表着编程规范,仅仅是编程规范的一部分
在日常编程的时候需要注意很多细节:
1.等号两边留空格还是等号对齐?
2.空行什么时候什么地方留更加符合代码结构?
3.空格什么时候什么地方留更加美观?
4.花括号是否对齐?
…
推荐阅读书籍《代码整洁之道》
知乎专栏下面用户[黄安越]对于命名的小建议,当然,这只是他个人的推荐,可以形成自己的命名风格:
一、变量
1、局部变量
1)定义循环:i,j,z,x,y;
2)单个词时小写,多个词时,使用小驼峰命令;
2、模块变量
1)定义成static,使用匈牙利命名法+大驼峰命名法:s_DataLength;
3、全局变量
1)使用匈牙利命名法+大驼峰命名法(帕斯卡命名法):g_DataLength;
4、指针变量
1)使用匈牙利命名法+大驼峰命名法:*p_DataLength;
二、函数
1)小驼峰命名法:fGetData(void);
三、宏定义
1)全部大写+下划线命名法
推荐阅读
-
序列化对象设置字段首字母小写(驼峰命名法)
-
解决ASP.NET MVC返回的JsonResult 中 日期类型数据格式问题,和返回的属性名称转为“驼峰命名法”和循环引用问题
-
【Java】工具类,如何将匈牙利命名法转换成驼峰命名法
-
序列化对象设置字段首字母小写(驼峰命名法)
-
解决ASP.NET MVC返回的JsonResult 中 日期类型数据格式问题,和返回的属性名称转为“驼峰命名法”和循环引用问题
-
Mybatis 驼峰命名法失效,多数据源开启驼峰命名规则映射
-
命名规则之大驼峰命名法和小驼峰命名法
-
【命名规则】驼峰命名法
-
【日常学习】命名规则 - 驼峰命名法、帕斯卡命名法、匈牙利命名法、下划线命名法
-
【面向对象学习笔记day02】类和对象的概念+类和对象的关系+类的设计+大驼峰命名法+ 类名的确定+属性和方法的确定