第一次见以汉字命名的 Java 类

2018-08-17 10:11:18 +08:00
 samples

想把简体转成繁体,找了下 util,ZHConverter,看了下源码还以为我的 ide 出问题了 😰

如图: http://note.youdao.com/noteshare?id=6c2b1a2f774a9818d7e9080ff7bb2b7d

15780 次点击
所在节点    Java
91 条回复
ala2008
2018-08-17 16:43:44 +08:00
脑子转不过来。。
twotiger
2018-08-17 17:26:29 +08:00
我知道 python 和 javascript 都可以支持中文变量,原来 java 也可以啊,挺好玩的
metrxqin
2018-08-17 17:31:17 +08:00
“已在非本监区但不是社会医院住院超过 7 天不超过 30 天的药品使用总金额”,此时应该发明新的概念名词。

如果没有人发明 “电脑”这个名词,我们必须像这样描述“ CPU 执行运算,内存辅以贮藏数据的,通过各种外围设备完成人机交互的电子设备”。
metrxqin
2018-08-17 17:36:08 +08:00
vindurriel
2018-08-17 17:38:35 +08:00
const 和 enum 之类的比较适合 比如 八荣八耻 四个自信 啥的 翻译起来老费劲 比用拼音强 variable 就算了 有一种听外企白领讲洋泾浜的感觉
rockyou12
2018-08-17 17:41:03 +08:00
@metrxqin 想法很美,但实际业务这种玩意可能几十几百个,各个都要发明不是成语言学家了,而且后面维护代码的人要怎么去理解你发明的名称,去查你编的字典嘛?到最后也还是成了查文档、看注释算球
realpg
2018-08-17 17:45:55 +08:00
@metrxqin #63
这种名词有上百个……
Lighfer
2018-08-17 17:55:51 +08:00
@metrxqin 这种和业务强相关的情况不赞成发明一些新的名词来作解释,量是一个问题,更关键的是无法直接体现出业务方面的东西,而对于后续的维护、扩展来说,如果一个变量 /字段 的业务相关性不够清晰明了的话,会需要花更多的时间来明确,甚至可能到最后都弄错了,而且随着时间的的推移、人员的替换,出现错误的概率会不断升高。
dhssingle
2018-08-17 18:01:31 +08:00
几年前在 CSDN 上看到的,全中文编程
https://bbs.csdn.net/topics/380159364
感受一下


```

遍历器<登录信息>.计数遍历(_详细信息集合).从(0).到(_详细信息集合.长度()).每隔(1).执行((当前行索引, 登陆信息) =>
{
判断.如果是(XXX).则(() =>
{
判断.如果是(YYY).则(() =>
{
表格.行(当前行索引).背景色设为(Color.Gray);
});
}).否则(() =>
{
判断.如果是(ZZZ).则(() =>
{
判断.如果是(KKK).则(() =>
{
表格.行(当前行索引).背景色设为(Color.Gray);
});
});
});
});


```
RqPS6rhmP3Nyn3Tm
2018-08-17 18:46:20 +08:00
只要看得懂,用 emoji 我的觉得 OK
MonoLogueChi
2018-08-17 19:35:36 +08:00
只要编译器不报错就行,用户不会关心你的变量名是啥
codehz
2018-08-17 22:03:36 +08:00
我记得有一种混淆技术就是直接把标识符替换成汉字(特别是那些在扩展区的汉字),当时很多工具都不支持处理这样的 class 文件(当然现在都支持了,就没啥用了)
blanu
2018-08-17 23:29:52 +08:00
我只能说,无感,不支持也不反对
xuanwu
2018-08-18 01:05:58 +08:00
@Lighfer @realpg @vindurriel 同意越是业务性强的部分中文命名越有优势. 个人实践过程( https://www.v2ex.com/t/477109 )中, 多数变量或多或少带有业务语义.
个人感觉, 与业务语义无关的变量名(或者部分)多数和语言 /框架本身相关, 包括很多核心类中的术语(如 logger, collections, controller 等等), 这些经常一时想不到合适的对应中文. 最近开始的这个项目就是为了辅助解决这个问题: https://zhuanlan.zhihu.com/p/42100391
这篇在纯算法中用中文命名, 个人认为并非一无是处: https://zhuanlan.zhihu.com/p/33850923
applehater
2018-08-18 01:17:16 +08:00
@bravecarrot 不知道俄罗斯人用西里尔字母写代码的多不多
xuanwu
2018-08-18 01:59:04 +08:00
@applehater @li1215101 这个 2017 年的 quora 答案( http://qr.ae/TUN8ea )提到西门子(德)/爱立信(瑞典)内部有尽量用母语命名的 C/C++项目. 以及布拉格看到的一本编程书也是用母语命名.
中文命名只是母语命名的一种. 最初在编程语言中添加支持 Unicode 的功能, 也应该有各个非英语母语国家开发者的推动力量.
leido
2018-08-18 02:31:58 +08:00
少见多怪,日本人经常这样干
xuanwu
2018-08-18 04:31:29 +08:00
@leido 请问可以分享一下项目细节吗? 之前也想探寻这样的开源项目, 但在很有限的和日本开发者的交流里, 都提到多数开发者还是用英语命名. 即使"抚子"日语编程语言的作者, 最后还是用了英文命名.
wolfie
2018-08-18 09:28:32 +08:00
上次项目经理调试接口,返回参数很长而且他英文不好,然后就把字段全部改成中文了。
jadeity
2018-08-18 09:30:46 +08:00
体会到了母语英语国家的人是真的好理解代码

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/480623

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX