发现在代码命名中有一些常见的错误。我发现大多数是中国人犯这种错误,老外也有。
1. 设计模式后缀
比如 XXXFactory, XXXFacade, XXXObserver 等等,其实完全没有必要增加这种后缀。
2. 拼音命名法
这个我完全是带着个人偏见,相比英文,中文的表达能力更强,也就导致,名字的“意境”更多,更容易误解。倒不是因为使用拼音。
3. 词性错误
类大多数是名词,但如果是command模式,那类名可能会是动词,取决于类的本质行为。方法/函数通常是动词或者动宾短语。
4. 冗余
没有充分使用语言特性,如namespace、package等。比如 AlipayTradeService, AlipayWapTradeService…这种。好不环保哦。
基本上每当出现“重复”时,意味着代码需要重构或者精简了。
5. 直译法
比如,微信的“统一下单”,代码中是 ” unified ” – 统一, “order” – 下单。让我来推测一下这种名字的由来:
最开始,在线上支付和pos系统里有“收单”一说,英文用“acquire”,后来可能pos和线上合并了,也就是“统一”。其实似乎没有增加“统一”的必要。
本质上其实还是收单。