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

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

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

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

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

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

大家怎么看待这个问题?

16267 次点击
所在节点    Java
152 条回复
514656282
2018-06-18 06:09:09 +08:00
@fuermosi777 中文也是一整个词的跳转
514656282
2018-06-18 06:09:48 +08:00
@Perry 支持自动补全
swkl86
2018-06-18 06:42:11 +08:00
不反对,但是有一天突然某个业务场景这样判断
if(status == 网络连接失败)
emmmm 确定不奇怪麽? enum 当做字符串处理?
数据库库字段中文?
好吧,感觉好多人做过,但总感觉坑比体验多
感觉这个属于团队规范问题,以前也想过类似情况,但是后面被 pass 了。
因为代码不是你一个人维护,编码导致的风险隐患比想象中的要高,假如说给外界接口,成本更加高昂(维护成本)
你的痛点是在于对接的时候交流开发和维护成本高昂
你是希望通过提升开发体验降低对接难度
但是这侧面也会导致增加各种隐患风险和维护成本

总之个人感觉 code msg 基本够用,如果不够,或者希望更详细的提示可以考虑开发环境判断,多个其他输出方式或字段
Cambrian07
2018-06-18 07:05:16 +08:00
所以,易语言的春天到了吗?
xingstar
2018-06-18 07:14:18 +08:00
抱歉,总觉得难以接受
PythonAnswer
2018-06-18 07:31:34 +08:00
自己写的小工具,有很多注释是中文,没问题啊,整理思路。
vjnjc
2018-06-18 07:55:58 +08:00
感觉 enum 那部分你随便呗,对接接口 HTTP 那层确定好就好
nicevar
2018-06-18 07:57:59 +08:00
@gamexg 不是统不统一编码的问题,是 ide 有编码检测,vs2003 有个坑人的地方,会自动修改 utf8 的 bom,加上 eclipse 以前有一个常年存在的 bug,当前显示的文件并不是活动文件,很容易出错,并不是个别现象
0xcb
2018-06-18 08:08:17 +08:00
我见过一个新入职的这么写,然后两个月个月什么也没做出来走了。
514656282
2018-06-18 08:22:17 +08:00
@JCZ2MkKb5S8ZX9pq 说出了我很多没说出来的。。实际开发中很多人用的英文并不准确,后面加又要加中文注释来说明 各种英文数字中文的转换确实让人累了
shynome
2018-06-18 09:37:51 +08:00
中文切输入法麻烦,反正我肯定忍不了,要么你走要么我走
likuku
2018-06-18 09:52:04 +08:00
给人类用户看的提示信息什么用中文写挺好的,尤其用户是非技术人员+多年不用英文 /技术英文 的人。

其它么,代码里 变量,注释,用中文,写码时切换输入法麻烦,
乱码的隐患始终存在,且有些技术用语,中文没有统一公认的说法,容易引起歧义。
lonenol
2018-06-18 09:57:45 +08:00
展示的文案竟然是固定的么。。。
514656282
2018-06-18 09:59:09 +08:00
@lonenol 我在上面已经回复了很多,不是直接给前端展示用的
whypool
2018-06-18 10:28:13 +08:00
一次警告,二次开除
代码必须规范,命名必须规范,包括拼音命名甚至各种 123,review 必须改,改不了就走人
msg7086
2018-06-18 10:58:51 +08:00
看团队要求。团队觉得 OK 就 OK,不行就不行。
我们组里以前还有亚美尼亚人,他要是标识符写个亚美尼亚语,我们大概心态就要崩了。
thinkif
2018-06-18 11:02:42 +08:00
变量不能用中文,但个别的枚举可以用中文,可读性好,使用也方便,枚举最终对接出去的多是数字的部分所以没问题,而且现在 IDE 对编码支持都非常好了。

其实不光是中文,工作中接触过德国、意大利和丹麦的工程师,他们也会使用母语来命名一些不好描述或者不方便翻译成英文的地方。
silhouette
2018-06-18 11:21:48 +08:00
一般都是 status 是个数字表示状态码吧,然后给一个文档标注每个数字代表什么比较好?
lotem
2018-06-18 11:32:16 +08:00
代碼裏用不用中文,看使用場景。
某又要搬出中文命名的經典樣例了:
https://github.com/kionz/ime-table-builder/blob/master/src/Cangjie5.js
liuxu
2018-06-18 11:49:17 +08:00
主要是大家被一些语言的中文处理恶心到了,还有中文编码问题,例如 gb2312 与 utf-8,bom 头。。

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

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

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

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

© 2021 V2EX