代码里面有中文,大家觉得怎么样?

2018-06-17 22:28:36 +08:00
 514656282

举个简单的例子,如下,平时写代码的时候一些枚举的状态我比较倾向直接用中文,包括前端传参和返回给前端的内容,个人认为这样可读性会高一点。

做了三年 Android 开发,以前对接后端接口的时候经常都是一堆数字 0123,每次查问题或者抓包的时候都要看看代码(后端基本不写文档,返回的一大堆无用的字段),所以现在转后端了,写接口的时候都会尽量考虑减少前端的对接的难度

public enum Status {
    网络断开, 网络恢复
}

同事认为这样很不规范,叫我以后不要这样写了,要么用英文,要么用数字 0, 1, 2, 3

大家怎么看待这个问题?

16299 次点击
所在节点    Java
152 条回复
maxthon
2018-06-18 12:00:45 +08:00
http://www.globalnerdy.com/wordpress/wp-content/uploads/2014/06/poopy-swift-code-example.jpg

现在 unicode 支持都很成熟了吧,emoji 都可以用来做标示符了
所以还是看项目需要以及项目规范
有些中文术语真的很难用英文表达
murmur
2018-06-18 12:12:54 +08:00
@liuxu 这早就不是问题了 中文你还能看懂 貌似 php 已经有用不在人阅读范围内的 unicode 字符做混淆了
lrh3321
2018-06-18 12:28:42 +08:00
团队觉得 ok 就行,我是觉得中英文切换打字太麻烦
WispZhan
2018-06-18 12:34:30 +08:00
明显不规范,Java 枚举本来就可以带成员域,你加个 string 类的 name 域都比直接用中文好。

public enum Status {
Connected(“网络恢复”), Disconnected(“网络断开”);
private string name ;
Status(string name){
this.name=name ;
}
public string name(){
return name ;
}
}
DOLLOR
2018-06-18 12:34:37 +08:00
看你们团队的想法吧。
反正这个年代已经没必要纠结所谓的乱码问题了。
Lonely
2018-06-18 12:35:06 +08:00
奇葩
murmur
2018-06-18 12:36:39 +08:00
@likuku 问题是又有专业英语知识又有编程技能的程序员少之又少 绝大多数人在面对专业术语都是去查字典 他也不知道哪个对
这种情况下用中文命名反倒是效率最高的 直接照着需求说明书打就行 省了大笔想变量名的时间
514656282
2018-06-18 12:39:44 +08:00
@WispZhan 给前端返回的时候,前端又看不到你这个成员变量,英文单词没取好的时候,也给别人带来很多困惑
swim2sun
2018-06-18 12:55:41 +08:00
个人或团队爱怎么用就怎么用,但是既然拿出来问了,我还是忍不住说:请遵守 Java 命名规范。枚举就是要大写字母加下划线命名,如果非要用中文,那么为什么不用得彻底点?类名、变量名都用中文?你可以体验一下....
public enum 状态 {
网络断开, 网络恢复
}
hilow
2018-06-18 13:03:12 +08:00
有种情况会很恶心。
你的模块给另外一个模块传输的是 protobuf 再内嵌 json 数据,然后这个模块输出日志时,有可能是编码过的 utf8 字符
zjyl1994
2018-06-18 13:22:32 +08:00
返回给前端的 message 写中文不反对,code 写中文就不好了吧。
WispZhan
2018-06-18 14:12:23 +08:00
@514656282 自定义一个枚举序列化工具不就成了么,多大的事。如果是 Jackson 或者 gson 本身就自带了。 多看看文档和最佳实践。
xiaowangge
2018-06-18 14:26:19 +08:00
i18n 国际化怎么办?

万一项目大火,国外业务也要开展呢
hand515
2018-06-18 14:38:33 +08:00
切换输入法不累吗。
514656282
2018-06-18 14:45:22 +08:00
@hand515 想英文更累一点
Humorce
2018-06-18 15:29:48 +08:00
参考 HTTP 状态码
atcdef
2018-06-18 16:56:38 +08:00
中文完全没问题,这里的问题只是在于输入上的麻烦,你得切换输入法。如果有某个 ide 像易语言那个 ide 那样,支持中文首拼上屏,那我也会用中文作为变量名之类的。
copysunday00
2018-06-18 17:29:16 +08:00
难以接受,目前在公司还没发现
mio4kon
2018-06-18 17:35:13 +08:00
代码补全,切换输入法相当麻烦.
cYcoco
2018-06-18 18:16:52 +08:00
宁愿代码英文注释中文的 因为编码问题真的很捉急。。。。但是 emun 写 0,1,3 不如返回 int 好了

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

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

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

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

© 2021 V2EX