背景
Phil Karlton(菲儿·卡尔顿)说过: “在计算机科学领域,只有两件难事,一个是缓存应当何时失效,另一个就是变量命名。”
我们在日常开发过程中,往往会遇到一些变量命名的问题,不知用什么好一些,有的时候一个含义竟然好几个名字。
今天我和大家一同讨论,给出我关于变量命名的一些建议。
1.参考技术规范和英文开发书籍
其实在不同的领域,都有国际标准规范和 guide book、cook book,里面会对某个工具的用语进行大量阐述,如果我们平时可以积累这些内容,就可以在使用时得心应手。
就比如 MDN Web Docs 上,有很多论述基础技术相关的,写一些中间件、底层代码的时候,很值得参考,学习的方式也比较简单,就中英文对照着看就行了,要相信官方的译者。
2.业务中领域的命名参考图片
如果对应到普通的业务中的命名,有没有可以参考的呢?使用翻译软件吗?当然可以,但是也应该注意翻译的失真,比如,我们翻译“麦当劳门店”(用它举例完全是因为变成金拱门了,现实生活中我当然是KFC啦,下个星期四就编故事),有道给出的结果是:McDonald's outlets
这样就能放心地贴上去了吗?当然不行,我们使用必应的图片搜索(这里注意要是用英文的搜索引擎,因为你在翻译成英文)
然后我们就会发现 outlet 一般是指墙上的插座。
这样是不行的,我们需要门店的单词,我们可以尝试用用必应翻译。
这个看着靠谱,我们搜搜store的图片试试。
P.S.:当然了,如果你非要说 outlets 也是可以的,当然也行,只不过它可没有 store 指向那么清晰,而且一般是复数形式时才能激发人的联想。所以翻译后查一查,确是苦口良言,能减少团队内的误解。毕竟 air outlet 还作 排风口之意,你这么翻译,是增加队友的思维负担的。
3.长时间看英文生活类视频、影视剧等
我们没有英文环境,基本上和学汉语的外国人面临的困难相同,我们只能多看一些英语国家的视频来获得语感。这里我推荐大家可以关注一些b站上的外教老师,我就不推荐了,直接取b站搜学英语,不少的。
影视作品,提醒大家不要看烂片,最好是经典+近期热播。可以培养自己的英文思维,对我们变量命名也有帮助。
4.帮你搜索开源社区,看大家的命名
如果你实在是没思路,可以直接搜索 CIDELF,比如我们想看中国人怎么在开源世界翻译中文 "楼宇" 这个词:
大致浏览一下,应该就 building 了。
结语
掘友们,现在你们会变量命名了吗?欢迎和我讨论你的变量命名技巧。