有人说,编程里,用拼音命名不好的,我的回答是:
谁说的?我在我们自己的工程里,就用了不少拼音命名的变量和类,而且我现在依然觉得,这是最合适的命名。
举个例子。我们系统要对接明道云这个低代码平台。那你告诉我,明道云应该翻译成什么英文?
如果你去硬翻,最后只会得到一个谁都看不懂的英文单词。过几个月,你自己都未必还能想起来它代表的是哪个平台。
所以我的命名就是:
MingDaoYunClient简单、直接,所有人一眼就知道这是明道云客户端。
以后想搜明道云相关代码,直接搜索MingDaoYun,全部都能搜出来。
有什么问题吗?甚至你去看看明道云官网。
https://www.mingdao.com/
别人自己都是用拼音。为什么到了自己项目里,反而非要装作英文更高级?
很多程序员有一个误区,觉得代码里出现拼音,就说明代码写得不专业。
我倒觉得,为了所谓的国际化,硬把中文名翻译成没人认识的英文,这才是不专业。
尤其做国内业务,对接第三方平台的时候,这种情况特别多。你对接的平台越多,就越会发现,到处都是中文拼音。
- 有的是域名。
- 有的是接口路径。
- 有的是SDK包名。
有的是官方提供的Java类。别人官方都这么命名,你非要自己重新翻译一遍,反而增加了理解成本。
再举一个更实际的例子。做主数据的时候,一张门店表通常要保存多个平台的门店ID,例如:
- 饿了么门店ID
- 美团门店ID
- 抖音门店ID
- 京东门店ID
- 淘宝门店ID
我一般就是这么定义:
ele_shop_id meituan_shop_id douyin_shop_id jd_shop_id taobao_shop_id如果你坚持不用拼音,那请告诉我:
美团 -> ? 抖音 -> ? 淘宝 -> ?你准备怎么翻译?是全部自己造英文?还是每个人翻译一种?
到最后,同一个平台,在不同项目里出现三四种命名方式,这不是更乱吗?
如果一个中文概念,本来就没有公认、统一的英文表达,那直接用中文全拼,反而是最容易沟通的。
当然,我说的不是鼓励大家把业务代码全部写成拼音。
像:
yongHu dingDan shangPin这种已经有成熟英文对应的概念,当然还是应该用:
user order product代码最终是给人看的。只要团队的人都能快速看懂,还能快速搜得到,这就是一个好名字。