联动一下拼音做变量名,请问现在这个时代用中文做变量名已经没有技术障碍了吧?

catboy_noreen-avatar

catboy_noreen

2022-05-05T10:12:19+00:00

我不是做编程的,只是个外行,学过一点点python
英语也不好,有些东西实在是想不出用什么变量名合适,拼音自己看着都费劲,决定变量名用中文挺好的,有时候变量名起10个汉字,连备注都不用写
从技术来说,变量名用中文有啥大问题吗?
比如说我起了一个变量名叫“临时设备名未转换为大写”,我觉得挺好的,一目了然
为了歪果仁读我的代码方便?
我相信歪果仁不会有这个机会的
srBassTurd-avatar

srBassTurd

互联网都是做通用应用的,当然猛吹英文,实际上你读过代码就知道,git上的高质量不算,就那些业务代码,5个字母的初中级别单词都给你打错,sex和gender那更是老生常谈,语法时态完全是不存在

然后就这英语水平还得装出来什么国际化啦,不需要切换输入法了,utf-8什么什么的。。。

如果用拼音呢,你见过ln不分方言都写到拼音里的么,这水平还真不如用中文变量,至少我国是书同文。。

说到底还是刻进骨子的歧视
Black baby yoda-avatar

Black baby yoda

也许源代码在不同字符集下可能有乱码?我现在也只能想到这个原因了
Potamatoe-avatar

Potamatoe

很多都支持了。。多数怕乱码吧。 然后还有人觉得统一用英文好识别,最后就是有人觉得是私产的一道设防。
iDrxp-avatar

iDrxp

一般没问题,但是我们见过上传后文件编码变了注释全乱码的情况,所以最好还是不要这样做
Agüita de Limón-avatar

Agüita de Limón

C#是支持用中文作为变量名的,时间应该也不短了吧,只是没多少人知道也没多少人用
𝖌𝖊𝖛-avatar

𝖌𝖊𝖛

Visual Studio是很早就可以的,这个要看编译器支持力度吧。就是怕有时用中文可能有未知bug,你又没见过可能就掉坑里去了。
比如以前用vs2008,函数变量都可以中文,用中文名建工程项目,结果点击控件就进不去方法。
Hādokyarī-avatar

Hādokyarī

我觉得只要你能有办法让全世界所有语言、字母的代码(包括以前老代码)全都用同一种编码格式(比如utf-8),那应该就容易后续推广出来中文或是其他非英语变量名了吧
Quixxate-avatar

Quixxate

变量名做中文最大的问题就是 西方语系国家不认识 其他倒是没啥
yuhez-avatar

yuhez

这种事说白了需要一个强力渠道像苹果那样强力推进
理论上新的工具链都不应该有问题
但是也没有人想去担保负责不会有bug有了bug负责修
SlongDongMan-avatar

SlongDongMan

[s:ac:呆]目前 99% 的在用编程语言都支持汉字变量名,下一个。
ӄօɮɛ☆-avatar

ӄօɮɛ☆

即使支持我觉得用的人也不会多,切输入法不麻烦吗?…… 切来切去的符号也容易出错。
Duke Le-avatar

Duke Le

主要是麻烦,我打中文害得切输入法
Ke..-avatar

Ke..

就算是外行,自学PY的时候也知道有ANSI编码和unicode编码吧?用中文出问题可太正常了。
现在编译器是支持了,但是实际工作都是用老一套框架的,你能保证中文变量不会出问题吗
GLiTCh-avatar

GLiTCh

中文路径都有可能出bug,更别说各种字符集了……
一些控件名或者自带变量名hash的用中文变量名没什么问题(比如unity的visual effect graph可以中文名称,但是实际上调用的还是hash后的ascii字符串名)。如果是纯代码还是不建议中文变量名,你不知道你的用户和共享代码的人是在什么系统,安装使用什么字符集等等,后面debug会给你头大死。ascii是通用计算机的基础字符集,其他所有字符集也不会占用ascii的,所以用大小写英文字母+数字就至少能让所有人都能正常使用,而用拼音至少能规避这个问题。
Hewal-avatar

Hewal

工作原因,总看到数据库里面拼音首字母的字段名,就离谱,有的七八个字母,谁看得懂啊
NitroAcid-avatar

NitroAcid

可以啊,但我觉得还是不会用

输入法切来切去不麻烦吗?我用latex写论文都觉得来回切中英文麻烦

第二个是有些函数不认中文,比如opencv,你写个中文的路径都会报错
MTS-avatar

MTS

没啥必要
你关键字又不是中文
混乱的语言不难受么
SchWhaM-avatar

SchWhaM

我感觉就是怕乱码