本文将会整理一些开发过程中常见的用于命名单词,方便使用。对于成对词组、衍生词组则放到一起说明。本文将会陆续更新。
判断
单词 | 说明 |
---|
is | 是否判断,通常用于行为判断;用于属性时,序列化功能可能异常,不建议用在pojo的属性中 |
can | 能否判断 |
should | 应该判断,判断原有期望与当前期望的一致性 |
has | 是否持有 |
need | 是否需要 |
ensure | 确保判断,不符合期望通常抛出异常或者返回错误码 |
validate | 验证判断,不符合期望通常抛出异常或者返回错误码;一般是给定一个具体的规则,按照规则去对比 |
check | 条件判断,不符合期望通常抛出异常或者返回错误码;通常check用于不止正误判断的场景,拥有更加复杂的处理机制 |
verify | 验证判断,不符合期望通常抛出异常或者返回错误码;一般对于没有固定准则,需要依赖于外部条件的验证使用verify;有标准答案,固定标准的,内部提供全部校验规则的,使用validate |
predict、predicate | 判断,根据给的的数据,实现自定义判断逻辑,并返回判断结果 |
match | 匹配,判断是否符合给定的条件 |
assert | 坚称、断言;维护,坚持;有肯定、保证、宣称之意; |
容器
单词 | 说明 |
---|
Array | 数组 |
Collection | 集合 |
Iterable | 可迭代的 |
Map | 映射集合 |
Set | 不重复集合 |
List | 有序集合 |
size | 数量值,当前实际大小,一般用于非顺序存储容器中的元素个数统计;通常在 capacity 的结构内,已经用于数据保存或者已经保存了数据的部分的大小为size。 |
capacity | 容量值,容器在物理存储上开辟的可用于存储的容量; |
length | 长度值,对于顺序存储元素的容器,其用于存储元素的数据(和存储结构相关)长度。 |
element | 元素,一般是指整体的一部分,元素强调必要性、不可或缺性,且强调是类别或者类型描述。例如,html网页是有head、body等元素组成。 |
item | 条目,项目;一般指容器内一个具体的元素,强调容器的包含关系;与element不同,item是一类element中的其中一个具体的实例。例如html包含div元素,而某一个html网页可以获取到三个具体的div实例,这些实例就是具体的item |
entry | 条目,目录,进入;在数据结构强调是加入容器的的item,同时自身内部还包含有一些复杂的信息(结合目录与进入之意,不止保存简单数据对象);常用于map的entry set集合,配合put方法强调加入之意,同时entry只是一个入口,内部可链接对象。 |
sub xxx | 获取当前容器的子容器,并携带对应部分的子元素。如 subList; subSet 等等。 |
pool | 池,强调内部资源可复用性质。如 ThreadPoolExecutor . |
| |
异步与线程
单词 | 说明 |
---|
thread | 线程 |
sleep | 睡眠,持有锁,不释放资源 |
block | 阻塞;block 通常指线程/对象暂停执行,处于休眠状态; |
wakeup | 唤醒;wakeup 指唤醒某个休眠的对象。 |
background | 后台执行,通常指另开线程执行,不影响当前执行逻辑 |
async、asynchronous | 异步;async为简写 |
sync、synchronized | 同步;sync为同步 |
schedule | 安排、进度、计划、时间表;通常用于按照计划多次执行某个逻辑。 |
parallel | 平行,并行;并发执行-通常指多份逻辑一起执行 |
wait、notify | 等待与唤醒;对象上活动的线程阻塞等待(执行后释放锁,释放资源)与唤醒 |
suspend、resume | 挂起与恢复(若持有锁,不释放资源);suspend() 使得线程进入阻塞状态,并且不会自动恢复,必须其对应的 resume() 被调用,才能使得线程重新进入可执行状态 |
yield | 屈服、让步、产出;yield() 使得线程放弃当前分得的 CPU 时间,但是不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得 CPU 时间。 |
daemon | 守护(进程);后台(程序);静默后台运行,主线程退出后自动退出(的线程/进程); |
interrupt、interrupted | 打断、中断、阻断;用于强制结束当前正在执行的某一个逻辑。 |
initialize | 初始化 |
| |
数据存取/传输
单词 | 说明 |
---|
create | 创建,基于现有条件或者数据创建。 |
new | 新建,通常强调通过构造方法建立。而其它如create、clone则不一定是通过构造方法创建的。 |
from | 从既有的某物新建 或是从其他的数据新建 |
to | 转换为指定数据 |
copy | 从源目标复制数据到指定目标 |
transfer | 转移/迁移数据,与copy不同的是,transfer 一般转移是会对数据做处理,以是的源数据能够匹配目标数据 |
save | 保存数据(不一定是完全新增的数据) |
insert | 插入数据,强调数据所在位置 |
add | 添加,add默认只包含新增的那部分数据 |
update | 更新既有某物 |
modify | 合并数据;存在则更新,否则保存,且暗含数据比对之意,即只更新变化或者保存新增的那部分数据,内有自己的判断逻辑 |
saveOrUpdate | 保存或者更新数据;以指定条件(默认为id)判断,存在则更新,否则保存;与modify不同,这里需要明确指定判断逻辑且一般粒度较modify粗,一般不会比对对象内部更具体的属性值是否变化,而只是比对判断条件 |
delete | 删除,物理删除 |
remove | 移除;对象还存在,只是从一个容器移除,一般为逻辑删除; |
load | 加载数据,一般是一类、一批数据;数据是可用的,但是不一定已经真实的获取了,通常为延迟获取,在使用到这个对象的时刻才真正的获取并使用。且load方式默认数据是存在的,获取不到时一般获报错。 |
fetch | 拉取、抓取、远程读取;通过配置好的策略,从指定的数据源中获取需要的数据,是符合条件的特定数据。 |
pull | 拉、拽;fetch 强调与远端的关联,抓取的策略;pull 强调获取的数据行为,偏向与后续数据的处理。 |
get | 获取数据,强调立即性,但不保证目标一定存在。 |
query | 查询数据,没有直接高效的对应方案来获取数据,需要比对大量数据来获得结果的方案,通常返回的结果是原始的数据结构 |
find | 查找数据,可能查找不到,通常返回的结果是当前需要的封装好的数据结构 |
read | 读取数据,数据是已经存在的,强调从来源识别出目标需要的格式的内容 |
lookup | 查找,概览,查找表;确定一组项中的一个或多个项是否具有指定属性的操作,为名词,指某一种具体查找方式或者策略(例如索引/目录查找),且lookup 通常只关系指定属性,不同时获取符合条件的指定对象的其它属性 |
scan | 细看,浏览;扫描检查;强调对内容(的最小单位) 一 一 遍历 |
seek | 前往,移动,寻找,寻求,请求;强调移动到指定位置(后开始查找) |
search | 搜寻,查找;强调查找的匹配条件,通常支持非常复查的匹配查询;通常匹配到第一个就返回,不往后匹配了; 而find 且默认匹配所有并返回 |
save | 保存,储蓄,解救;强调保存行为本身,默认知晓目标位置,有持久化之意。 |
store | 贮藏,仓库,保存;强调存储的位置。 |
commit | 提交,保存;强调数据传输到目标。 |
write | 写入;强调数据写入到指定目标的行为。与commit的区别在于 commit 更加抽象,强调目标(不论是文件提交、网络提交、线下提交的手段),而 write 强调是写入,是将当前数据录入到目标的。 |
clear | 清除或是恢复到初始状态,容器/表现层依在,数据不存。 |
backup 、restore | backup 备份;restore 恢复; |
import 、export | import 导入; export 导出 ; 从一个格式/终端/平台 处理数据 到另一个格式/终端/平台,强调数据介质或者格式的不同。 |
input、output | input 输入 ; output 输出;直接对内容做处理,强调数据的流动。 |
send 、receive | send 发送、receive 接收; |
download 、upload | download 下载; upload 上传; |
cache | 缓存,把(数据)存入缓存; |
evict | 驱逐,逐出;数据从指定范围下迁出,数据本身可能依然存在与其它地方,但是在当前上下文需要的数据范围中会消失 |
put | 安置,放,将……送往,使……前往;将数据数据置放到指定位置(一般是容器) |
enqueue | 数据添加到队列尾部 |
dequeue | 数据从队列头部移除 |
push | 推开,推离,推送;数据从本地/本平台推送到其它位置(一般只远程、其它平台) |
pop | 取出(头部)数据,并移除此数据 |
peek | 挑选出(头部)数据,不移除此数据 |
append | 追加,尾部追加数据 |
forward | 转发 |
generate | 产生、创建、引起 |
数据处理
单词 | 说明 |
---|
split 、merge | 分割、合并 |
encode 编码、decode 解码 | 编码、解码 |
encrypt 加密、decrypt 解密 | 加密、解密(encryption 加密术) |
compress 压缩、decompress 解压缩 | 压缩、解压缩 |
pack 打包、unpack 解包 | 打包、解包 |
lock 锁定、unlock 解锁 | 锁定、解锁 |
emit | 生成 |
algorithm | 算法、法则 |
parse | 解析 |
collect | 收集 |
group | 分组 |
agg、aggregation | 聚合 |
summary | 汇总、总结、概要 |
statistics、statistic | 统计 |
count | 计数 |
All | (操作)所有,eg: listAll, removeAll |
indexOf | xxx的索引 |
calculate | 计算 |
Keep | 保持(某种状态、行为等) |
consumer | 消费(数据) |
batch | 批量(触发某种行为) |
filter | 过滤(只保留符合条件的数据) |
evaluate | 评估,求值 |
serialize/serializable 、 deserialize | 序列化、反序列化 |
zip | 拉链,压缩 |
recursion | 递归 |
circulation、circular | 循环 |
sort | 排序 |
abandon | 销毁 |
amount | 数量,金额;计算机中主要指金额 |
increment、decrement | 增量、减量 |
distribute、dissemination | 分发、分配;通常指以整体或定量分为若干份来分配 |
assign | (按照原则)分配;指按照某种原则进行的硬性分配,也不一定是很公平的 |
allocate | 资源分配;指金钱、财产、权力或领土等的分配,着重分配的比例和专门用途。 |
专用行为
单词 | 说明 |
---|
handler | 处理器、处理者 |
listener | 监听器 |
Task | 任务 |
consumer | 消费者 |
predicate | 表明,断言;通常表示某种判断或处理规则,甚至通过此规则过滤以保留符合的项 |
validator | 验证器;验证数据是否符合期望 |
aware | 标记、通知,察觉到的,意识到的;通常是对实现此标记的类做某些回调或触发 |
processor | 处理器,例如:xxxPreProcessor、xxxPostProcessor、xxxAroundProcessor;前置、后置、环绕处理器 |
条件触发
单词 | 说明 | 示例 |
---|
trigger | 触发,触发器 | |
If xxx | 符合xxx条件时执行行为 | saveIfAbsent |
try xxx | 尝试执行xxx行为,失败通常抛出异常或者返回错误码 | tryLock |
xxx OrDefault | 尝试使用指定xxx策略,失败则使用默认策略 | |
xxx OrElse | 尝试使用指定xxx策略,失败则使用另一种指定策略 | getOrElse |
force xxx | 强制执行,通常会获取默写正常情况下的判断条件,失败通常抛出异常或者返回错误码 | |
**in **xxx | 在某个范围、某个时间段内触发执行 | |
**with **xxx | 触发时携带某些环境数据 | |
by xxx | 被xx执行或者达到xx条件执行 | |
on xxx | 发现xx事件时执行,通常同时传入事件前后的对象, 也需要传入触发器的对象 | |
**when **xxx | 当达到某条件阈值时执行 | |
waitFor xxx | 等待达到xx条件时触发执行,一般前置状态是持续的,强调等待/阻塞,但是达到条件后,后续有触发行为 | |
until xxx | 直到xx才,达到xx才触发,强调行为的状态变化,如开始或终止 | |
时间
单词 | 说明 |
---|
date | 日期,时间点,通常为年月日时分秒,也有只年月日 |
time | 时间,时间点,通常为时分秒,日内时间 |
timestamp | 时间戳,一般为秒或者毫秒为单位,整型或者长整型的数字 |
interval | 时间间隔,配合单位表示一个具体的时间段,例如: 单位为日,7日 为一个时间段 |
year、month、day、week | 年、月、日、周 |
hour、minute、second | 时、分、秒 |
am、pm | 上午(ante meridiem)、下午(post meridiem) |
millisecond、microsecond、nanosecond | 毫秒、微秒、纳秒(十亿分之一秒) |
Localxx | 本地/当地 xx(时间) |
timezone | 时区 |
GMT | 格林尼治平时,称为世界时间;太阳横穿格林尼治子午线时的时间;北京时间=世界时+8小时 |
UTC | 世界标准时间,最目前主要的世界时间标准,其以原子时秒长为基础,称为协调世界时,不与任何地区位置相关,比GMT更加精准;GMT = UTC+0; |
calendar | 日历 |
Instant | 时间线上的瞬时点,或者说时间戳,java中 从1970-01-01 00:00:00开始,之前为正,后续为负数;可以精确到纳秒 |
now | 当前时刻 |
duration | 持续时间,时长;绝对差值;例如 时长 3小时2分钟 |
period | 时期,时段,时代,间隔,时间刻度上的差值;例如两个时间相差 2年3个月 |
clock | 时钟,原子钟 |
epoch | 时代,纪元;历元;计算机开始时间=纪元时间= 1970-01-01 00:00:00 |
比较/顺序
单词 | 说明 |
---|
ordered;unordered | 有序的 ;无序的 |
disorder | 乱序的; 同 out-of-order |
sequence | 次序,顺序; Sequence Diagram = 时序图;positive sequence = 正序; |
asc (ascending order) | 升序,从小到大排列 |
dsc (Descending order) | 降序,从大到小排列 |
reverse order | 逆序,和原排序顺序相反的顺序; |
sort | 排序;通常指排序行为; |
order | 顺序,次序;一般为排序时用到的关键key值,即次序值; |
rank | 等级,名次,使排成行;可以理解为一个有序序列中从1开始排第几个,即名次的概念; |
compare | 比较,对比 |
greater than | 大于; |
less than | 小于 |
equal | 等于; |
设计与模式
单词 | 说明 |
---|
decouple | 解耦 |
cohesion | 内聚 |
pattern | 模式 |
Abstract Factory | 抽象工厂模式,将工厂方法抽象为更高级别; |
Builder | 建造者模式,通过一个对象一步接一步创建一个复杂对象; |
Factory Method | 工厂方法模式,定义抽象A,工厂B提供一个方法通过参数返回一个匹配了实现A的子类; |
Prototype | 原型模式,通过克隆对象来创建 |
Singleton | 单例模式,一个应用中,全局可访问的有且只有一个实例的对象或者值; |
Adapter | 适配器模式,也称为包装模式;一个接口转为另一个,实现兼容与复用; |
Bridge | 桥接模式,将抽象或接口与其实现解耦,以便两者可以独立变化。通过将继承改为组合的方式来解决维度组合放到单一类的属性/行为耦合与膨胀问题; |
Composite | 组合模式;用元素对象和它本身构建一个复杂的对象,就像树结构一样; |
Decorator | 装饰模式;不改变原文件和不使用继承的情况下,动态地扩展一个对象的功能; |
Facade | 外观模式、门面模式;为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,例如JDBC 的设计;Adapter 注重对接口的转换与调整;Facade强调屏蔽实现,对外提供统一的接口/界面 |
Flyweight | (共)享元模式,通过提供一个可以被大量对象共享的细粒度对象,以节省创建这些对象所需要的存储空间。它使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件; |
Proxy | 代理模式;为其他对象提供一种代理以控制对这个对象的访问。调用者一般直接访问代理对象,代理对象会对外隐藏原始对象,代理注重控制,偏向行为扩展,不容易二次扩展;装饰模式不同,一般访问的是原始对象,偏向类的扩展,甚至添加新方法,更加易于扩展。 |
Chain of Responsibility | 责任链模式;包含一系列的处理对象形成的一个链。每一个处理对象决定它能处理哪些命令对象,并将它不能处理的命令对象传递给该链中的下一个处理对象。 |
Command | 命令模式;通过命令对象对调用者与接受者做解耦,相当于将方法调用改为通过一个松耦合的命令调用;顺序:调用者→命令→接受者。可以降低系统耦合,方便扩展新的功能。 |
Interpreter | 解释器模式;给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子; |
Iterator | 迭代器模式;将聚合对象的遍历行为分离并抽象成迭代器类来实现,其目的是在不暴露聚合对象的内部结构的情况下,让外部代码透明地访问聚合的内部数据。 |
Mediator | 中介模式;用一个中介对象封装一系列对象的交互过程。中介使各对象不需要显示引用,从而降低了耦合,可以独立的改变它们的交互。Facade是以封装和隔离为主,子系甚至可独立运行,调用者不清楚内部隐藏对象;Mediator 相当于多个对象的协调者,包含自身业务,多个对象需要通过 Mediator 调用其它对象; |
Memento | 备忘录模式;Memento 是保存另外一个对象内部状态拷贝的对象.这样以后就可以将该对象恢复到原先保存的状态。 |
Observer | 观察者模式;也称为发布-订阅模式;一个对象改变了状态,它的所有依赖项都会自动更新。 |
State | 状态模式;对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。环境对象的行为变化由其成员(状态)类表示,这些成员(状态)类共享同一个(状态)超类,状态变化等同于状态实现类变化,则状态对应的行为也相应的变化; |
Strategy | 策略模式;定义一系列可以相互替换的算法,对外提供相同的调用入口,这些算法被称为 Strategy;对算法的选择与实现相分离. 允许根据上下文进行选择具体的算法; |
Template Method | 模板方法模式;(在超类中)为方法或类提供抽象定义,并在后续或不更改其结构的情况下重新定义其行为(子类中),符合开闭原则-扩展开放,修改封闭。 |
Visitor | 访问者模式;定义一个新的操作来处理元素的类,而不改变它们的结构。例如对于Tree结构,结构不变的情况下可以自定义一种新的遍历方式,甚至遍历时附带一些行为; |
inject | 注入 |
AOP | Aspect Oriented Programming的缩写;面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术; |
OOP | Object Oriented Programming;面向对象编程 其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。OOP=对象+类+继承+多态+消息,其中核心概念是类和对象。 |
POP | Procedure Oriented;面相过程编程; |
MVC | MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式;模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。视图代表模型包含的数据的可视化。控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。 |
Agile Development | 敏捷开发; |
Scrum | 迭代式增量软件开发,敏捷方法论中的重要框架之一,主流程的敏捷开发方式之一;根据目标,在2-4周内完成一个sprint,挑选一个sprint中可以完成的任务; |
XP | 极限编程,Extreme Programming;极限编程强调我们将任务/系统细分为可以在较短周期解决的一个个子任务/模块,并且强调测试、代码质量和及早发现问题。通常,通过一个个短小的迭代周期,我们就可以获得一个个阶段性的进展,并且可以及时形成一个版本供用户参考,以便及时对用户可能的需求变更作出响应。 |
Waterfall Model | 瀑布模型;严格遵循预先计划的需求、分析、设计、编码、测试的步骤顺序进行。步骤成果作为衡量进度的方法,例如需求规格,设计文档,测试计划和代码审阅等等。 |
ER | 实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。 |
UML | 统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。 |
| |
集群/分布式
单词 | 说明 |
---|
Cluster | 集群 |
distributed | 分布式 |
producer | 生产者 |
consumer | 消费者 |
Assignment | 作业,指派,(工作等)分配 |
dispatch | 派遣,发送 |
consistency | 一致性 |
partition | 分区,分割,分裂,分治 |
Fault-Tolerant | 容错 |
Failover | (计算机)故障切换,失效备援 |
idempotent | 幂等的 |
业务-常用
单词 | 说明 |
---|
old ; new | 旧的 ; 新的 |
undo ; redo | 撤销;重做 |
Group | 分组 |
page/Pagination | 分页/页码; |
priority | 优先级 |
Context | 上下文 |
hold | 持有 |
entity | 实体 |
login | 登录 |
logout | (会话)退出 |
session | 会话 |
shutdown | 停止,关闭;eg: 注销账号; |
certificate | 凭证,证明,证书;文凭 |
token | 象征,标志;礼券 |
secret | 秘密的,保密的;保密; secret key = 私有保密的key=密钥 |
secure | 稳固的,可靠的;严密把守的,牢固的;安全的;secure key = 安全码=安全密钥 |
数据结构
单词 | 说明 |
---|
Data Structure | 数据结构 |
linear list | 线性表;一个线性表是n个具有相同特性的数据元素的有限序列,元素可重复 |
array | 数组;是有序的元素序列,若将有限个类型相同的变量的集合命名,那么这个名称为数组名; |
stack | 栈,又名堆栈;仅在表尾进行插入和删除操作的线性表; |
vector | 矢量,向量;类似于动态数组; |
collection | 集合 |
queue | 队列 |
tree | 树形结构 |
graph | 图形结构 |
Hash | 哈希结构 |
stream | 流,代表可以表示小批量,连续处理的过程; |
dictionary / dictionaries / Dict | 字典,KV结构,K不可重复; |
Map | 映射,与字典结构等同; |
circular | 环 |
Set 、Set Data Structures | 集合,数据不重复; |
其它
单词 | 说明 |
---|
default | 默认的 |
min、max | 最小、最大 |
grow | 长大、发展、扩容 |
resize | 调整大小 |
clone | 克隆 |
apply | 申请,施加,应用;eg: applyChange |
reset | 清除或是恢复到初始状态; eg: resetAll |
retain | 保持,保留,保存,记住;例如求数据交集使用; |
dispose | 处置、安排、部署; |
execute | 实施、执行(指令)、处决,完成 |
submit | 呈递,提交,屈服 |
post | 邮寄,投递,公布,宣布 |
cancel | 取消(计划好的事情);终止,废除;盖销,注销; |
limit | 限度,限制;极限,限量 |
join | 成为……的一员,参加;连接,接合;联合, |
enqueue | 加入队列 |
dequeue | 移出队列 |
abort | 终止,放弃;(使)流产,堕(胎);(由于问题或故障)中止,使夭折; |
await | 等待,期待;将发生在,将降临到……身上 |
Caller | 调用者,访客;[通信]呼叫者;打电话者;召集员 |
Policy | 政策,策略,方案; |
Trace | 查出,发现,追踪;追溯,追究;痕迹 |
processor | 处理器,处理程序 |
ahead | 在前面,朝前面;领先,占优势;提前;eg: xxxAhead |
transaction | 事务,交易,买卖,业务; |
registry | 注册;登记处;挂号处; |
criteria | 准则;条件;规准,指标,因素 |
condition | 状况,状态;条件,环境;疾病;条款; 与 criteria 不同,criteria 中的准则可以理解为主体支持的所有规则,而condition指的是 选取其中的一些规则并结合对应的参数构造了condition。 |
| |
参见
- https://mp.weixin.qq.com/s/xHK54SAMlTlYnU1li0mbCg