前言
使用user_tool.py还是user_utils.py?使用name还是username?使用user_add还是add_user?使用get_user_by_name还是get_users_by_name?等等等等,在编程活动中,我们经常会产生各种关于命名的纠结。
给文件、函数、变量命名是一件很难的事,但是也是有方法的。本文中,我们就来学习一下文件、变量和函数命名的方法。
参考文档:
命名方法
要领:一看就懂,保持一致。
文件
由于Windows, OSX下文件名不区分大小写(linux是区分的),所以命名建议还是以全部小写为主。
连字符可以使用中划线、下划线或者省略,关键是要统一。
目录建议连字符使用中划线,比如: my-project-name。
有复数的情况使用复数命名法,比如: scripts, styles, images和data-modules。
文件建议连字符使用下划线,比如:user_test.py。
变量
变量命名常用的有两种方式:
下划线命名法,比如: my_variable
驼峰式命名法,比如: myVariale
python语言建议使用下划线命名法。
函数
函数命名常用的有两种方式:
下划线命名法,比如: get_user_by_name
驼峰式命名法,比如: getUserByName
python语言建议使用下划线命名法。不同于变量命名的是,函数名称要使用动词开头,并且尽可能准确。
常用动词表
动词选取要精准。通常来说,动词决定了一个函数要采取什么”动作”。动词取的好,一个函数名字已经成功了80%。
常用动词表:
类别 | 单词 |
---|---|
添加/插入/创建/初始化/加载 | add、append、insert、create、initialize、load |
删除/销毁 | delete、remove、destroy、drop |
打开/开始/启动 | open、start |
关闭/停止 | close、stop |
获取/读取/查找/查询 | get、fetch、acquire、read、search、find、query |
设置/重置/放入/写入/释放/刷新 | set、reset、put、write、release、refresh |
发送/推送 | send、push |
接收/拉取 | receive、pull |
提交/撤销/取消 | submit、cancel |
收集/采集/选取/选择 | collect、pick、select |
提取/解析 | sub、extract、parse |
编码/解码 | encode、decode |
填充/打包/压缩 | fill、pack、compress |
清空/拆包/解压 | flush、clear、unpack、decompress |
增加/减少 | increase、decrease、reduce |
分隔/拼接 | split、join、concat |
过滤/校验/检测 | filter、valid、check |
常用领域词
名词使用领域词汇。举个例子:集合的容量通常用capacity、集合实际元素个数用size、字符串长度用length,这种就遵循大家的使用习惯,不要用size去形如字符串的长度。
再比如,假如使用到建造者模式,那么通常会用build作为函数名字,这个时候就不要另辟蹊径,用create来作为函数名字,使用大家约定俗成的命名习惯更容易让你的代码被别人读懂。
常用名词表:
类别 | 单词 |
---|---|
容量/大小/长度 | capacity、size、length |
实例/上下文 | instance、context |
配置 | config、settings |
头部/前面/前一个/第一个 | header、front、previous、first |
尾部/后面/后一个/最后一个 | tail、back、next、last |
区间/区域/某一部分/范围/规模 | range、interval、region、area、section、scope、scale |
缓存/缓冲/会话 | cache、buffer、session |
本地/局部/全局 | local、global |
成员/元素 | member、element |
菜单/列表 | menu、list |
源/目标 | source、destination、target |
常用缩写表
1、本缩写表是《编码命名规范》的附录。
2、本缩写表中列出的都是通用性缩写,不提供标准缩写,如:Win9x、COM 等。
3、使用本缩写表里的缩写时,请对其进行必要的注释说明。
4、除少数情况以外,大部分缩写与大小写无关。
缩写 | 全称 |
---|---|
addr | Address |
adm | Administrator |
app | Application |
arg | Argument |
asm | assemble |
asyn | asynchronization |
avg | average |
DB | Database |
bk | back |
bmp | Bitmap |
btn | Button |
buf | Buffer |
calc | Calculate |
char | Character |
chg | Change |
clk | Click |
clr | color |
cmd | Command |
cmp | Compare |
col | Column |
coord | coordinates |
cpy | copy |
ctl/ctrl | Control |
cur | Current |
cyl | Cylinder |
dbg | Debug |
dbl | Double |
dec | Decrease |
def | default |
del | Delete |
dest/dst | Destination |
dev | Device |
dict | dictionary |
diff | different |
dir | directory |
disp | Display |
div | Divide |
dlg | Dialog |
doc | Document |
drv | Driver |
dyna | Dynamic |
env | Environment |
err | error |
ex/ext | Extend |
exec | execute |
flg | flag |
frm | Frame |
func/fn | Function |
grp | group |
horz | Horizontal |
idx/ndx | Index |
img | Image |
impl | Implement |
inc | Increase |
info | Information |
init | Initial/Initialize/Initialization |
ins | Insert |
inst | Instance |
INT/intr | Interrupt |
len | Length |
lib | Library |
lnk | Link |
log | logical |
lst | List |
max | maximum |
mem | Memory |
mgr/man | Manage/Manager |
mid | middle |
min | minimum |
msg | Message |
mul | Multiply |
num | Number |
obj | Object |
ofs | Offset |
org | Origin |
param | Parameter |
pic | picture |
pkg | package |
pnt/pt | Point |
pos | Position |
pre/prev | previous |
prg | program |
prn | |
proc | Process |
prop | Properties |
psw | Password |
ptr | Pointer |
pub | Public |
rc | rect |
ref | Reference |
reg | Register |
req | request |
res | Resource |
ret | return |
rgn | region |
scr | screen |
sec | Second |
seg | Segment |
sel | Select |
src | Source |
std | Standard |
stg | Storage |
stm | Stream |
str | String |
sub | Subtract |
sum | summation |
svr | Server |
sync | Synchronization |
sys | System |
tbl | Table |
temp/tmp | Temporary |
tran/trans | translate/transation/transparent |
tst | Test |
txt | text |
unk | Unknown |
upd | Update |
upg | Upgrade |
util | Utility |
var | Variable |
ver | Version |
vert | Vertical |
vir | Virus |
wnd | Window |