| 导语基于 Readability 的出题阅卷经验的一些不完全的具体的命名指南。
assert/verify 用于不变量验证,尤其在单元测试中
㈠ 如斯 (rú sī)
关于命名的语法见“语法规则”一章。
注1: 客观来说,这适用于所有强制 OOP 的语言(所有强制把方法放在类里的语言)。但是除了 Java, 没有别的语言这么烦啦。
Mutable 显式地声明一个类是可变的,Immutable 显式地声明一个类是不可变的。 通常情况下,类似于并发安全性,是否可变应该在类文档中说明,而不应该在类名中,显得臃肿。只有当一个类同时有可变/不可变版本时,可以使用 Class/ImmutableClass。
软件开发中一个著名的反直觉就是“起名儿”这个看上去很平凡的任务实际上很有难度。身边统计学显示,越是有经验的程序员,越为起名头痛。给小孩起名儿都没这么费劲,对吧,王浩然?
Stream
Source/Sink
Pipe/Piped
Factory 是专职的工厂类。当工厂方法较为复杂,需要抽出,或者有状态的工厂时使用。
文本处理
分享理由:不知道大家平常在使用微信的扫一扫功能进行付款、登录微信等操作的时候,有没有发现其实这个功能也可以让我们对水果等物品进行识别呢?不过虽然它可以对物品进行识别,但是不能批量识别这点比较可惜。
Go 也并没有抽象类,虽然可以将一个结构体嵌入到另一个结构体中。所以 Base/Abstract 也极少出现。
non-public,如类成员、私有方法 - 不使用缩写、可以省略上下文。下界是单词,不应该使用单字符。
它支持全屏时钟功能,提供了 14 种非常好看的表盘,点击任意表盘可以预览效果,点击立即使用可以切换为这个表盘。
如果不实现接口,通常不需要任何特殊修饰符。
另一个容易被忽略的命名的黄金原则是一致性。换言之,名字的选取,在项目中应该保持一致。遵守代码规范,避免这方面的主观能动性,方便别人阅读代码。通常情况下,一个差的、但是达成共识的代码规范,也会远好于几个好的、但是被未达成共识的规范。
Listner/Notifier 通常可以用来作为 Observer/Observable 的同义词。但是 Listener 也可能表示其它含义,如 TraceListener,视框架而定。
除此之外,这款软件还自带多种特色功能,可以调节AI配音员的语速语调、可添加背景音乐、作品拼接、音量放大、格式转换、三联屏封面制作...
轮班闹钟支持设置早班时间、中班时间、夜班时间、休息时间、轮班周期、开始周期、跳过周末等。
点击加号按钮就可以添加待办事件,包括:事件时间、事件分类、事件重要紧急的程度、子计划、期限、重复和提醒。
Formatter.format 是将对象进行格式化。通用名词。
㈢ 心月 (xīn yuè)
Expander.expand 通常用于 DSL/Schema 解析,专指将某些 DSL 展开,如变量替换,展开 glob。
Schema 借用数据库的概念,指数据的结构模式。
推荐指数:★★★★☆
WPS这款软件相信大家都不陌生,没错,它也有“艺术签名”的功能,WPS含有手写体、硬笔行书体、楷体等字体模板供我们选择。
Holder/Container/Wrapper
开启 vs 关闭
同义词,表创建。推荐在项目中保持一致。
转换
Facade: 外观模式
0
func IsDone() bool {} // OK-ish. But could be better. func Done() bool {} // GOOD. Why bother with is/are? func CheckEnabled() bool { // BAD. Nobody cares if it is "checked". Just tell the user if it is enabled. return enabled; } func Enabled() bool {} // GOOD.情态动词: 主-助谓-谓-(宾/表)