不管如何,我们必须承认,火遍全球的程序设计语言都是英语所编写。
所以,想抵达程序员的顶尖,会用英语写代码是必要的。
无视英语语法
乍看,将章节信息标为翻译完成,方法名好像也能表达这意思,但经不起推敲。
代码意图“完成翻译”,所以取名:
- 完成时 completed
- 翻译的英问 translate
一般命名规则:
- 类名,名词
表示一个对象 - 方法名,动词、动宾短语
表示一个动作
以此评判,将方法名改成动宾结构:
- 完成 译 complete
- 翻译 用其名词 translation
所以,方法名应该是 completeTranslation。
再如,一个方法名 retranslation,意图重新翻译,但作为方法名,应该是个动词,所以应该是 retranslate。
某审核功能的审核状态:
有问题吗?
估计你也这么写。将审核甩进 Google 翻译,确实就是 audit。
所以,审核状态写成 AuditStatus。
然而,这个词好像不太对。知道 CodeReviw 吧?同样是审核,还有review呢。他俩有啥区别呢?再细查:
- audit 更官方,更准确翻译应该:审计
- review 则有更多核查的意思
相比起来,更适合该场景
这类问题的确尴尬,本来英语水平就不高,更难以清楚单词间差异。所以各大公司招聘也都要求至少四六级。毕竟很多人就是把中文扔到 Google 翻译,拿到翻译结果就用,这是很多此类问题的根源。就像一个不熟悉中文的外国人说中文,你听得懂他在说啥,但总有哪里怪怪的。
解决方案
团队交流,产研测共同确定一个词汇表-业务术语的中英文表达,三个臭皮匠顶个诸葛亮。写代码时即可参考这个词汇表给变量和函数命名。这也是DDD时构建通用语言的成果。
一段蜜汁代码:
居然还会封装查询排序,这确实比那些把字符串传来传去的做法要好。
但细看,sortFiled 是啥?排序文件吗?为啥还是过去式?归档?
找到作者,果然拼错了。偶尔拼写错误不可避免,像 IntelliJ IDEA 这样的 IDE 甚至可以给你提示代码里有拼写错误(typo),只要稍微注意一下,就可以修正这类低级错误。