

何时使用中文标识符
source link: https://blog.henix.info/blog/use-chinese-identifier/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

何时使用中文标识符
最后更新日期:2014-05-26
一些编程语言(如 Java 、 PHP)中可以使用中文标识符。很多人都不用这个特性(feature),但我认为,在合适的时候使用中文标识符,可以提高代码的可读性。
接近业务、接近领域的概念,如果这些概念本来就是用文本表述的,代码中直接使用中文就是最好的。否则,还需要在代码中翻译出一个对应的英文单词来,但这个英文单词其实是冗余的。
例:云风的这篇文章中提到了策划需要使用中文变量名。我想这是因为在这种情况下使用中文就是最自然的,翻译成英文或者用拼音写代码会非常蹩脚。
如果是抽象、普遍的概念,就没有必要使用中文了。比如 if / then / else 等流程控制语句,某些“中文编程语言”把这些东西也搞成中文,依我看这就完全没必要了。
另一个使用场景是单元测试名,其实这里理想状态下应该是匿名的才对,不过我主张能用代码表达的就不用注释。比如我写过这样的代码:
@Test
public void 部分发货邮件文本中没有_発送が分かれたことによって追加で配送料や手数料がかかることはありません_这句话() {
...
}
@Test
public void 一般是ご注文いただいた商品_但这个是ご注文いただいたギフト商品_多了个ギフト() {
...
}
@Test
public void 金额中可能包含逗号() {
...
}
@Test
public void 标题_ご注文_之前没有_の() {
...
}
当然这个也不是我发明的,我也是跟淘宝学的:https://www.infoq.cn/article/interface-test/(第三张图)
hongqn 对单元测试函数命名的讨论(以及 robbin 的回复):https://www.douban.com/note/50109382/(一句中文比看不懂的英文强多了)
2014-05-26 更新:
关于单元测试函数是否应该用中文命名的讨论已经可以终结了。使用 ScalaTest ,我已经开始这样写单元测试了:
test("出荷前面有 Invoice No") {
val info = testMail("""
...
""")
info.deliveryNo should be ("4706")
info.expressNo should be ("-")
info.items should have size 14
info.items(0) should have (
'ean ("42"),
'price (46)
)
}
所以单元测试一定要是一个函数什么的根本就是语言和库的限制嘛。
请按照如下格式发邮件:
[email protected]
[复制]
评论 / 回复内容,只支持纯文本
Recommend
-
51
工具介绍 Python-Iocextract是一款高级入侵威胁标识符IoC提取工具,它可以从文本语料库提取URL、IP地址、MD5/SHA哈希、电子邮件地址...
-
58
上一篇讲了字符串的解析过程,这一篇来讲讲标识符(IDENTIFIER)的解析。 先上知识点,标识符的扫描分为快解析和慢解析,一旦出现Ascii编码大于128的字符或者转义字符,会进入慢解析,略微影响性能,所以最好不要用中文、特殊字...
-
53
现在这个世纪,手机就是我的半条命,还有可能是多半条。 每人一部手机是标配,有的人可能还有好几个。那么,这么多设备,我们在互联网的世界,如何标明唯一的一个设备呢? 这就引入了“设备唯一标识符”的...
-
11
如何设计资源标识符? 在 如何设计 RPC 接口 中讲到一个观点: 资源在...
-
8
开源项目必须用英文命名标识符吗? - 吴烜2020的个人空间 - OSCHINA - 中文开源技术交流社区 ...
-
6
开源项目用英文标识符就能招徕国外用户吗? - 吴烜2020的个人空间 - OSCHINA - 中文开源技术交流社区 ...
-
6
Golang 入门 : 文件名、关键字与标识符 xiaojun1195 · 大约16小时之前 · 82 次点击 · 预计阅读...
-
6
-
5
注释、关键字、标识符的区别你知道吗? 推荐 原创 这一篇给大家说一下java基础的注释,关键字,标识符,我尽量用最简单的,易懂的文...
-
3
第五章 Golang标识符、关键字、命名规则 精选 原创 彭世瑜 2022-09-26 22:22:19
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK