跳至主要內容

BasicDemo_ALL

LincZero大约 3 分钟

BasicDemo_ALL

还没转移完

[toc]

编程语言命名规范

业界规范

语言普通变量函数名常量类名其他
C/C++驼峰
下划线
大驼峰
驼峰
下划线
大驼峰
大写+下划线结构体:大写文件名:file_开头
指针:ptr_开头
Java驼峰
下划线
帕斯卡
驼峰大写+下划线大驼峰包名:中文 / 驼峰
项目名:java开头
接口名:同抽象类、类名
异常类:大驼峰+Exception结尾
Python下划线下划线大写+下划线大驼峰
模块内部:_+大驼峰
模块名:下划线,尽量短小
包名:尽量短小,不推荐下划线
特殊:单/双下划线开头:见下
个人习惯下划线fn_下划线大写+下划线大驼峰js文件:小驼峰,Vue:大驼峰
偶尔匈牙利:
str_,json_,ptr_,file_,fn_

Python补充

Python中,使用单下划线开头的模块变量或者函数是受保护的,在使用from xxx import*语句从模块中导入时这些变量或者函数不能被导入

使用双下划线“__”开头的实例变量或方法是类私有的

文章参考

《各种语言命名规范》https://blog.csdn.net/LCX13141314/article/details/86773700

各类命名法

注:业界一般使用帕斯卡称呼的较多,也更为标准。但我认为大驼峰更形象,故多用后者!小驼峰我一般就不加”小“字了

命名法说明举例
驼峰 / 小驼峰 命名法首个单词首字母小写,其他单词首字母大写printEmployeePaychecks
帕斯卡 / 大驼峰 命名法每个单词首字母大写PrintEmployeePaychecks
下划线命名法多个单词使用下划线分隔,单词全小写print_employee_paychecks
大写下划线多个单词使用下划线分隔,单词全大写CAR_STATUS_1
匈牙利命名法具体见下

匈牙利表示法补充:

缺点

  1. 弱类型一般不用,比如:res = JSON.parse(res)
  2. 现在的IDE会自动检查变量类型,使用意义不大
  3. 修改变量类型时麻烦

流派

有应用型匈牙利命名法与系统型匈牙利命名法两种

应用型(正统、鲜为人知)

  • “ix” 表示数组的索引值(index)
  • “c” 表示一个计数器(count)
  • “d” 表示两个数量之间的差(difference),“dx” 就可以表示宽度

系统性(流传)

  • “l” 表示长整型(long)
  • “ul” 表示无符号长整型(unsigned long)
  • “dw” 表示双精度值(double word),这实际上也是一个无符号的长整型

但可以作为参考

系统型匈牙利命名法 - 前缀表

前缀隐含的数据类型说明
bBOOL整型
byBYTE无符号字符
cchar字符
dwDWORD无符号长型
fnfunction函数
hHANDLE无符号整型
iinteger整型
lLONG长整数型
lpLong pointer远指针
nShort(integer)整型
npNear pointer近指针
ppointer指针
sstring字符串
szZero terminated string以0结尾的字符串
wWORD整数或字
x,yshortx坐标和y坐标
cx,cyshortx和y方向长,c代表count(量度)

常用程序命名

命名说明
bar,foo[无意义]
sum
product
count计数
max最大值
min最小值
size大小
parameter/argument参数

常用程序缩写

缩写全拼说明
tmptemp临时变量
flgflag标志
statstatistic统计
incincrement加1
decdecrement减1
msgmessage信息
valvalue
addaddition
subsubtraction
mulmultiplication
divdivide
modmodulus取余
posposition位置
idxindex位置
arrarray数组

编程语言其他规范

社区规范

这个每个语言都不同,而且可能有几套,且篇幅极大,此处略

函数标准注释

/**
 * 下方函数的意义.
 * @param arr 一个数组
 * @param n   数组的长度
 * @return    最大值的下标
 */
int ddd(int arr[],int n)