前言
使用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、除少数情况以外,大部分缩写与大小写无关。