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

简介: 什么,你还在用拼音命名法?

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

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


无视英语语法

image.png

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

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

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


一般命名规则:

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


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

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


所以,方法名应该是 completeTranslation。


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

image.png

某审核功能的审核状态:


image.png

有问题吗?

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

image.png

所以,审核状态写成 AuditStatus。

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

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


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

image.png

解决方案

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

image.png

一段蜜汁代码:

image.png

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


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

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


目录
相关文章
|
6月前
|
JavaScript
JS自动生成速记符、拼音简写/拼音的声母(例如:“你挚爱的强哥”转换为“NZADQG”)。提取首字母,返回大写形式;提取拼音, 返回首字母大写形式(全拼)。
JS自动生成速记符、拼音简写/拼音的声母(例如:“你挚爱的强哥”转换为“NZADQG”)。提取首字母,返回大写形式;提取拼音, 返回首字母大写形式(全拼)。
|
3月前
|
Python
为什么编程都建议不要用拼音命名?
为什么编程都建议不要用拼音命名?
|
4月前
|
JavaScript
Vue 组件封装 | 给汉字注音(带声调),内含汉字转拼音(带声调/不带声调),获取汉字首字母的方法
Vue 组件封装 | 给汉字注音(带声调),内含汉字转拼音(带声调/不带声调),获取汉字首字母的方法
89 0
|
Windows
一个中文冒号引发的“血案”
一个中文冒号引发的“血案”
|
Python
Python编程:将驼峰命名转为小写下划线命名
Python编程:将驼峰命名转为小写下划线命名
176 0
|
Java Android开发 数据格式
Android环境下hanlp汉字转拼音功能的使用介绍
    由于项目需要在Android手机设备上实现汉字转拼音功能(支持多音字),于是首先想到了Pinyin4j+多音字映射对照表的实现方案,并在项目中试用了一段时间,发现数据量大时,其耗时非常严重。后来寻找其他方案,在github上找到了HanLP开源库,其多音字转换速度非常快,但是没有针对Android平台进行适配,于是对代码进行了一些修改,终于可以在Android手机上运行。
1481 0
pinyin4j:获取中文串拼音或拼音首字母
pinyin4j:获取中文串拼音或拼音首字母
355 0
|
JavaScript 测试技术 C++
VS Code英汉词典插件v0.0.4-驼峰下划线命名
实现VS code插件, 基于本地词典数据, 提供英汉翻译功能, 支持驼峰和下划线命名. Add support for Camel case and underscore style naming to the vscode extension to translate English word or phrase to Chinese in source code.
1191 0