我曾经有句“名言”:给变量(类)就好比给你的小孩子起名一样,怎么可以随意?
的确,编码N年,到头来发现起始给变量(类)起个名字的确很难,仿佛比写个算法都难,往往酝酿了很久,结果还是差一点意思。总是觉得哪里不爽,要么太简单,要么太长,要么太普通。
举个例子:
int n = 0; //n太简单,包含信息太少。容易“不够用”。如果引申到人名:张三
int num = 0; //num 虽然是number缩写,但太普通了,也缺少点意思,有点歧义。
如果引申到人名: 张伟
int downLoadFileAttachmentResult = 0; //这个这个,虽然没有太多歧义,也不太可能冲突,但但这名字脑壳疼。想必“输在起跑线” 如果引申到人名:
巴勃罗·迭戈·荷瑟·山迪亚哥·弗朗西斯科·德·保拉·居安·尼波莫切诺·克瑞斯皮尼亚诺·德·罗斯·瑞米迪欧斯·西波瑞亚诺·德·拉·山迪西玛·特立尼达·玛利亚·帕里西奥·克里托·瑞兹·布拉斯科·毕加索
还是个名人
那么有没有优雅名字,即优雅,又不显得 Chinglish
一般来说最佳名词,由一、两个单词组成,超过3个就显得臃肿了。
以下的单词,比较优雅,可参考:
1、deliver
翻译:投递的
可用在协议处理的时候,“进一步”处理,或分类处理之类的
2、context
翻译:内容
可用在一些读取一些文件、配置内容;也可以用与不同处理对象之间数据交互,类似上下文的概念
3、session
翻译:一段时间
一般用于链接处理的会话保持。保持的意思就是 这些东西不是临时的、适用范围是本次链接(不同于临时变量)
4、layer
翻译:层
跟设计相关,也会用在协议解析层之类
5、decode
翻译:解码
可用于协议解析,纯协议部分解码比较合适。当然也可以用在一些加密、算法编解码
6、encode
翻译:编码
7、internal
翻译:内部的
比如说这个函数是内部函数 可以xxxInternal 变量也可以
8、impl 或 implement
翻译:执行
可以是动词 但大部分用于名词,类似 xxx执行者 。
impl 是 implement的缩写形式
9、channel
翻译:通道
一般是表示哪一路
10、hal
翻译:HAL的表示,硬件处理层的。一般封装硬件操作
11、infra
直接翻译:下文
但一般不会这样用,一般是指 infrastructures 的缩写,表示基础功能。类似utils、utility
12、converter
翻译:转换器
一般用于不同类型转换、不同协议转换
13、adapter
翻译:适配
大名鼎鼎适配模式等
14、entry
翻译:进入、许可,名词
一般用于条件、条目之类的
15、plugin
翻译:插件
用于动态加载或跟随配置加载
16、ability
翻译:能力
就是指功能,相对对象而已,提供哪些能力(接口)
17、config
翻译:配置
配置信息、文件、参数
18、cache
翻译:高速缓存
一般用于缓存意思,大概率是内存分配空间
19、container
翻译:容器
一些组合,变量、缓存、数组组合
20、category
翻译:种类
种类、品类、类型
21、feature
翻译:特征
类似指纹特征、人脸特征
22、helper
翻译:助手
一般用于xxHelper,类似辅助功能、扩展功能之类意思
23、parser
翻译:分析程序
一般用于某种格式解析、例如xmlParser 指xml的解析器
24、factory
翻译:工厂
可以用于“生产”的时候功能
25、count 与 number
翻译:计数、数量
在中文里面意思接近,必须要区分,用在动作的时候用count,用在数量number
26、activity
翻译:活动
可以用于,当前使用的,正在处理的、激活的
27、dispatcher distribute(动词 分)
翻译:调度员
可以理解成分发器、调度器
28、handler 动词 handle
翻译:处理者,加工者
可以用某个处理,感觉比processor要贴切一点。当然HADNDLE 作为句柄的意思,也是很常见的
29、postprocess
翻译:后处理
关键是post前缀,可以表示后面,相对于 pre 前缀。
比tail、final,含义有不太一样。tail、final表示最后,结尾之类的。
30、detect
翻译:查明、识别。detected 表示检测到的 detector 检测器
测出、检测,用一些特殊手段来完成的(强调)。相对于check,是比较高级的一种“检测”单词
31、verfiy
翻译:校验
然而,checksum用于校验码;verify 核实,更强调结果是否一致;checkout 检验、检出,结账,更偏向过程
Check 过程。
32、form
翻译:表格、形式、窗体
33、idle
翻译:无事可做
一般用于某个状态,“空闲”状态;invalid 表示无效状态
34、realize
翻译:实现(目标、梦想),v
比如 realized 表示 已实现的;
35、 relate
翻译:联系。 涉及。related to 与...有关
relates 叙述,讲述
36、 diagnosis
翻译:诊断 n
diagnosis system 诊断系统
imaging diagnosis device 图像诊断设备
video recording meter 视频记录仪
37、inspection
翻译:检查 检验 inspect 是v / inspector 检查员
相对于verfiy 更强调“检查”可以理解为检查仪器 设备之类
38、Pending
翻译:待办、待处理
可表示一种状态
39、major
翻译:主要,跟版本version结合一起,可表示大版本
其他一些常用或简单不解释(意义太普通、简单,不建议单独使用,也不建议经常用,显得lower)
set、get、command、value、log、map、list、array、on、port、base、socket、string、node、
read、write、key、register、init、done、size、path
这些单词不太能体现具体含义,但能表示一些抽象信息;
当然不应该千变一律,可以组合,但要琢磨琢磨,就好比写个诗一样,每个字都是有特定,换个近义词,总是不够意思。
![](https://i-blog.csdnimg.cn/blog_migrate/ce6c8c977929bf10a02b3fe63d969623.png)