大家对于中文变量名是如何看待的?

2019-11-01 21:38:00 +08:00
 FakeLeung

恕我愚昧,实在是不想翻译各种奇怪的名称了,直接用中文当作变量名简洁明了(对于我来说)

不知道大家如何看待中文变量名的?

28376 次点击
所在节点    程序员
317 条回复
DOLLOR
2019-11-01 23:40:48 +08:00
这是 JavaScript 吧,那就没问题了,不用在意上面那些“编码问题”,反正打包之后一个样。
FakeLeung
2019-11-01 23:41:01 +08:00
@mamahaha #40
没办法啊,要计算的东西真的有这么多,这还是只有 2 处地方用到。。。
Jirajine
2019-11-01 23:44:41 +08:00
@blankme 我用的 rime,一般这种情况可以直接强制全局英文标点,但快捷键有些还会有问题。
现代工具对 Unicode 支持性以及相当良好了,混编最大的问题还是输入不便。
还是那句话,用中文虽然糟糕,但也绝对比拼音和奇葩缩写高到不知哪里去了。
loqixh
2019-11-01 23:52:32 +08:00
中文变量名信息量比英文大得多, 可以免除绝大部分注释和文档, 那些说切换麻烦的怕不是现在输入法, 不能设置中文状态输入英文标点
FakeLeung
2019-11-02 00:01:29 +08:00
@DOLLOR #41
是的,其实我特意看过打包后的代码,因为这些都是局部变量,所以可以被混淆,如果是作为对象的 key 就无法被混淆,就可能出现问题。
secondwtq
2019-11-02 00:06:49 +08:00
王垠前两天发了两条微博,大谈特谈”汉字拉丁化“的问题,认为非拼音文字都是”落后“的东西,并且顺便扣了很多帽子。

我的观点:一,王垠在 PL 之外的言论还是随便看看随便笑笑;二,开微博对于王垠来说也是错误的选择

不过换到楼主的问题,汉语没有一个易认的 Romanization 表示,确实导致不得不面对这种囧境,这大概是王垠的观点唯一站得住脚的场景
要做的话技术上也有难度 ... 因为亲身体验是,不仅对付输入法麻烦,就算是一段话里面频繁出现 Diacritical mark 也很麻烦 ... 更扯淡的是,三个桌面系统的中文输入法都差不多,但是输入 diacritical mark 的方式都不一样
gavindexu
2019-11-02 00:27:04 +08:00
命名时就是 this 和 last 的关系……
这个变量不难命名啊
McContax
2019-11-02 00:30:23 +08:00
习惯英文命名每次变量名都会花很多时间去构思,不用赶进度还好,赶进度就很 jb 烦,命名这种没有标准答案,不要用 123 abc 这种草草应对的变量名就好,避免踩坑最好确认用的编程语言对中文的支持程度

@secondwtq 这个人我也没怎么关注过,但是非拼音文字落后这种说法实在不能苟同,中文是世界上少有的 speaking system 和 writing system 分离的语言,就上手而言绝对比英文和法语之类的难,英文是能说就能写,但是中文需要额外支配资源来建立读音和图像的连结,这也是很多国人学英文单词总拼错的原因之一,这也是为什么很多外国电视台和视频不提供 subtitle 的原因,因为英语中你听到了你就知道了,而中文模式下的理解你需要听到再加上看到才能理解(用数据库的说法来解释就是在 select 的时候 when 语句要带两个条件,才能匹配出唯一值,只带读音或者图像其中一个只能匹配同音字或者同字不同音),但是这并不是说中文就是落后的就是过时的,正如游戏一样,越是复杂的游戏游玩系统在上手之后的可玩性就会越强,中文学习只要能跨过那段艰难的学习期其实一切都还是挺光明的。
anguiao
2019-11-02 00:49:09 +08:00
我觉得没什么问题,只要看起来清晰明了就行。
不过上面有一个说得还是有道理的,汉字命名确实不利于补全。
laike9m
2019-11-02 00:52:49 +08:00
that's fine
miyuki
2019-11-02 01:12:25 +08:00
真要图一乐还得图一乐

自己喜欢就完事了,名字太长的时候我也愿意用汉字
kokutou
2019-11-02 01:15:25 +08:00
没有输入法的时候。。。。
paopjian
2019-11-02 01:18:38 +08:00
自己写可以接受,对于那些强制 UTF8 编码的语言也不会出现编码问题,但是要是跨平台多编码的情况得特别小心。
ericgui
2019-11-02 02:26:38 +08:00
代码里不要用中文,实在需要,搞个翻译包
mozutaba
2019-11-02 02:48:41 +08:00
中文可以等宽,这点很爽。比如长宽高等,英文 long 就挂了
zjsxwc
2019-11-02 06:34:26 +08:00
不喜欢中文编程,
由于编码不一致( vim 配置不一致,Linux 看 Windows 的 gbk 汉字等等),会碰到被删了半个汉字的情况
😂
zjsxwc
2019-11-02 06:46:06 +08:00
小写拼音首字母+汉字 可以作为折中的办法,

比如 "bqfkbl 本期付款比例" "bzwchtngck 班组完成合同内工程款"

解决了想名字难,又解决了编码时输入难的问题。
xuanwu
2019-11-02 06:53:54 +08:00
@jin7 将标识符批量中翻英的 VSC 插件: https://github.com/program-in-chinese/vscode_english_chinese_dictionary

@cmdOptionKana 的确切换(shift)不一定更多。而且最近有时输入英文时不切换输入法,直接在中文输入状态下输入,还有点单词联想的感觉,比如搜狗下’inp’就有”input“。

@blankme 一般在编程时,我就切换输入法设置到”中文输入下使用英文标点“。

@FakeLeung form 下的是改不了吗?”in_fact_“读起来实在是。。。
xuanwu
2019-11-02 07:24:42 +08:00
@mozutaba 赞,等宽这个之前还没意识到。刚加到这里了《在代码中进行中文命名(类 /变量 /方法等)的优势》: https://zhuanlan.zhihu.com/p/40098652
masker0817
2019-11-02 07:29:19 +08:00
我能说这些都不是很偏僻的词汇,其实是写的人英文不好的缘故吗?

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

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

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

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

© 2021 V2EX