不管如何,我们必须承认,火遍全球的程序设计语言都是英语所编写。

所以,想抵达程序员的顶尖,会用英语写代码是必要的。


什么,你还在用拼音命名法?_openid

无视英语语法

什么,你还在用拼音命名法?_openid_02

乍看,将章节信息标为翻译完成,方法名好像也能表达这意思,但经不起推敲。

代码意图“完成翻译”,所以取名:


  • 完成时 completed
  • 翻译的英问 translate

一般命名规则:


  • 类名,名词
    表示一个对象

  • 方法名,动词、动宾短语
    表示一个动作


以此评判,将方法名改成动宾结构:


  • 完成 译 complete
  • 翻译 用其名词 translation

所以,方法名应该是 completeTranslation。

再如,一个方法名 retranslation,意图重新翻译,但作为方法名,应该是个动词,所以应该是 retranslate


什么,你还在用拼音命名法?_openid_03

不准确的英语词汇

什么,你还在用拼音命名法?_编程语言_04

某审核功能的审核状态:

什么,你还在用拼音命名法?_面试_05

有问题吗?

估计你也这么写。将审核甩进 Google 翻译,确实就是 audit。

什么,你还在用拼音命名法?_编程语言_06

所以,审核状态写成 AuditStatus。

然而,这个词好像不太对。知道 CodeReviw 吧?同样是审核,还有review呢。他俩有啥区别呢?再细查:


  • audit 更官方,更准确翻译应该:审计
  • review 则有更多核查的意思
    相比起来,更适合该场景

这类问题的确尴尬,本来英语水平就不高,更难以清楚单词间差异。所以各大公司招聘也都要求至少四六级。毕竟很多人就是把中文扔到 Google 翻译,拿到翻译结果就用,这是很多此类问题的根源。就像一个不熟悉中文的外国人说中文,你听得懂他在说啥,但总有哪里怪怪的。

什么,你还在用拼音命名法?_openid_07

解决方案

团队交流,产研测共同确定一个词汇表-业务术语的中英文表达,三个臭皮匠顶个诸葛亮。写代码时即可参考这个词汇表给变量和函数命名。这也是DDD时构建通用语言的成果。

什么,你还在用拼音命名法?_编程语言_08

英语单词的拼写错误

什么,你还在用拼音命名法?_restful_09

一段蜜汁代码:

什么,你还在用拼音命名法?_编程语言_10

居然还会封装查询排序,这确实比那些把字符串传来传去的做法要好。

但细看,sortFiled 是啥?排序文件吗?为啥还是过去式?归档?

果然拼错了。偶尔拼写错误不可避免,像 IntelliJ IDEA 这样的 IDE 甚至可以给你提示代码里有拼写错误(typo),只要稍微注意一下,就可以修正这类低级错误。