1
66beta 2016-08-09 10:53:03 +08:00 1
呵呵呵呵,不足挂齿
我这边接手的代码里... 纯字母: a, b, c, d... 拼音首字母: apple_sj (苹果手机) 同名:不同元素、用途,都用 em 来命名,虽然是局部变量... |
2
SpicyCat 2016-08-09 10:59:22 +08:00
不理解拼音命名怎么就 low 了?日本程序员用假名的罗马字母命名变量不要太普遍。
|
3
lijsh 2016-08-09 11:00:49 +08:00
有个同事写的点赞请求函数名是 zan ,笑死我了。
|
5
ThreeBody 2016-08-09 11:02:39 +08:00 via Android
我还见过中文变量名类名的呢
|
6
microchang 2016-08-09 11:03:10 +08:00 via Android 1
@SpicyCat 抛开这帖子要讨论的问题不谈,你这逻辑有点说不过去啊。。
|
7
tomczhen 2016-08-09 11:04:09 +08:00 1
命名原则是易懂,规范统一。如果满足这两条,个人觉得拼音还是英文单词没所谓——毕竟好多人的英文单词命名给老外看也是要一愣一愣的。
所以没啥好笑的,也许老外看你的英文单词命名和你看同时的拼音命名一样觉得好笑,不过人家估计不会到 V2EX 来发帖专门说一下就是了。 |
8
moosoome 2016-08-09 11:07:31 +08:00
我的原则是:英文太长并且缩写也不好辨认的项目可以酌情用拼音
|
9
moosoome 2016-08-09 11:07:48 +08:00
项目->变量
|
10
SourceMan 2016-08-09 11:08:09 +08:00
规范了就没啥好不好意思的,统一拼音命名变量
|
11
tabris17 2016-08-09 11:09:04 +08:00
我觉得支持 utf8 标识名的编程语言,用中文做变量名也无妨
|
12
shmilyin 2016-08-09 11:11:05 +08:00
拼音其实无所谓,说不定用了英文你根本看不懂。最蛋疼的是拼音缩写
|
13
cxe2v 2016-08-09 11:17:43 +08:00
中文表名,中文字段,你感受一下
其实符合规范就行了,没必要纠结拼音还是英文,编程是为了解决问题的 |
14
malkavia 2016-08-09 11:20:12 +08:00
全拼命名其实还罢了
到之前一个项目的代码里找了一行 public static final String METHOD_NAME_GET_GWLZCL = "getGwlzclxx"; 简直自带加密功能 |
15
harry890829 2016-08-09 11:23:04 +08:00
用英文缩写也很蛋疼的好不好……
|
16
jacy 2016-08-09 11:25:07 +08:00
|
17
chairuosen 2016-08-09 11:26:20 +08:00
不建议拼音的原因是拼音不能直接转换成明确的意思,要先读出来,猜每个字可能的汉字,才能知道意思。
如果拼音约定俗成的就代表一个意思还是没问题的,比如 weixin 。 |
18
IamJ 2016-08-09 11:29:32 +08:00
最近一个项目中有用到“芝麻信用”,考虑过要不要用英文 sesame 。最后用了拼音 zhiMa ,然后写了注释。😅
|
19
IamJ 2016-08-09 11:30:16 +08:00
好担心,我是不是会被烧死
|
20
huijiewei 2016-08-09 11:50:48 +08:00
hongbao 表示无压力,英文水平捉急,不知道该用啥合适
|
21
wesley 2016-08-09 11:52:44 +08:00
用拼音的问题在于: 不缩写太长, 一缩写就成了天书
|
23
fengyunSmlie 2016-08-09 11:56:37 +08:00
感觉主要是注释吧
|
24
jamesxu 2016-08-09 11:56:53 +08:00 via iPhone
有些专业领域你要是用英文翻译的没人看得懂代码,我是拼音英文夹杂的:简单易懂的用英文,专业术语用拼音或者两种结合
|
26
daya 2016-08-09 12:00:22 +08:00 via Android
前两周见到一哥们的数据库表名用中文命名的
|
27
SpicyCat 2016-08-09 12:00:45 +08:00
@microchang 逻辑哪里有问题了,假名对日本人来说就相当于我们的拼音,人家用假名当变量名,跟我们用拼音当变量名是一样的。所以我不理解为什么用拼音做变量名要被吐槽。之前对日外包比较火的年代,也没见谁吐槽假名变量名呀,现在反而看拼音不爽了?
|
28
viko16 2016-08-09 12:05:03 +08:00 via Android 1
拼音命名得加声调
比如 zhi1hu1 dan4teng2 |
29
skinheadbob 2016-08-09 12:07:10 +08:00 via iPhone
@SpicyCat 贵司 code review 认可这种命名方式?
|
30
mahone3297 2016-08-09 12:09:30 +08:00
|
31
loading 2016-08-09 12:10:41 +08:00 via Android 2
这里能帮到你们:
https://unbug.github.io/codelf/ |
33
SpicyCat 2016-08-09 12:18:39 +08:00
@skinheadbob 我们公司有日本人,印度人等,所以不会用拼音,但是我们在遗留代码里也看到过假名做变量名。新写的代码只能用英文,也不能用假名了。但这样做只是为了方便交流,并不是认为拼音或者假名 low ,如果团队都是中国人,用拼音当变量名又能怎样?
|
34
jugelizi 2016-08-09 12:30:56 +08:00
毕竟西方的月亮比较圆
汉语拼音的字母难道是中国人的祖先发明的? |
35
bk201 2016-08-09 12:35:26 +08:00 via iPhone
问题不在拼音,在于命名是否易解,不会造成歧义.
|
36
ydhydh 2016-08-09 12:39:26 +08:00
你们接微信 sdk 的时候,是命名 weixin 还是 wechat ?
|
38
gamexg 2016-08-09 12:53:54 +08:00 via Android
拼音英语无所谓,但是神烦缩写无注释, cc 、 cls 等等,谁知道什么东西。
|
39
quericy 2016-08-09 12:56:15 +08:00
命名的意义不就在于表达出意思么,用拼音表达清楚就没问题,用英语如果用词有歧义一样看不懂
而且有时候没办法吧,接入一些国内第三方的服务的时候,别人给过来的就是拼音,难道还另取一个? @loading 好东西,收了~~ |
41
21grams 2016-08-09 13:12:50 +08:00 via Android
@SpicyCat 所以日本人就是正确的化身? 你认为可以用拼音,因为日本人也在用假名,你用别人也在做这件事来证明这件事的正确性,这就是逻辑错误。
|
42
szharrydev 2016-08-09 13:17:17 +08:00
api 返回的 json 数据, key 是中文 。。。 你们感受下, 说了还不改。。。
|
43
aitaii 2016-08-09 13:28:21 +08:00
大家能看懂就行了,要是写个 qwer 之类的 滋滋。那才爽
|
45
microchang 2016-08-09 13:44:45 +08:00 via Android 1
@SpicyCat 我从你的回复获得的信息只是“日本人在这方面和我们一样”,然后你用这个事实来表达“所以这事不 low ”。而我期望的是讲出理由和依据,而不是“别人都这么做了为啥我们不行”。
另外,我好像还真记得有吐槽假名变量名的。 |
46
nashxk 2016-08-09 13:45:54 +08:00
内部统一就好,与其抱怨,不如改变现状。
|
47
DoraJDJ 2016-08-09 13:50:20 +08:00
@szharrydev JSON 的 key 值是中文...我突然想到 B 站今天闹得这个名堂了: http://www.bilibili.com/html/activity-qixi2016.html
http://activity.hdslb.com/zzjs/20160801qixi/js/data.js ``` choose: [{ 走回家: { text: ['正值春天,沿路的樱花树的确让人感到惬意','这时候,一个身影吸引住你的眼球',' [我:好萌的妹子啊,要上去勾搭吗?] '], ``` |
48
miyuki 2016-08-09 13:52:24 +08:00 via Android
|
50
SpicyCat 2016-08-09 14:04:27 +08:00
@microchang 呵呵,就这破事还摆事实道理, low 不 low 本身就是主观看法,我觉得不 low 你硬要觉得 low 我能说你错?你倒是给我摆事实讲道理说下怎么用拼音就不行?
|
51
SpicyCat 2016-08-09 14:14:32 +08:00
@21grams 你从哪里得出“日本人就是正确的化身”的结论的?“因为日本用假名,所以我们要用拼音”这就是你的理解? 我觉得我表达得很清楚了,就是没必要对拼音自轻自贱。日本程序员用假名命名变量名这个事实证明了,在实际项目中,不用英文命名变量名是可行的,用本国文字命名变量名是可行的。那么我们在开发过程中,在团队成员都是中国人的情况下,至少可以说,用拼音命名变量名是可行的。你要是觉得用拼音显不出来你是个假洋鬼子,你就用英文呗。
为防止你这类人有意或者无意的误解,我还是备注下:请区分「可行」和「必须」。 语文实在不及格的就别交流了,浪费彼此时间。 |
52
SpicyCat 2016-08-09 14:16:25 +08:00
今天在这个帖子见识了不少假洋鬼子。那么多人不待见拼音?现在这个年代还想用英文装逼?要装也是用法文啊。
|
53
microchang 2016-08-09 14:19:00 +08:00
|
55
21grams 2016-08-09 14:21:07 +08:00 via Android
@SpicyCat 可行不代表正确,可行有什么论证的必要,你就是用中文编程也是可行的。 另外,请说到做到,不要继续浪费我的时间。
|
56
EricBox 2016-08-09 14:22:03 +08:00 via iPhone
拼音并没有太大问题啊。我一般用英语,但是毕竟不是母语,偶尔犯一些小错误别人无法理解。在某些专业词汇上能用英语用英语,英语没有的用拼音,大家看代码才容易理解。
|
57
Sharuru 2016-08-09 14:22:45 +08:00
=m= 凑英文也就算了,最怕的是百度一个翻译然后贴回来的……
一般取不出的时候我就乱取, honoka , kotori , umi 这种 |
58
got 2016-08-09 14:26:26 +08:00
zan 不是挺好的, 哪个短用哪个
|
59
SpicyCat 2016-08-09 14:29:28 +08:00
@21grams 如果一件事是不正确的,那就不应该做,自然是不可行的。上文已经说明,用拼音不会造成交流问题,也不会对项目或者行业发展造成影响,因而是可行的,为什么是不正确的?可行没有论证的必要?听说过可行性研究吗?
中文编程在教育领域是可行的,在工程领域不可行。 我觉得你先去查字典看看 可行 的定义。 你要是觉得用中文吃力,也可以用英文,显得你高端。 |
60
phper69 OP 我吐槽的不是适用拼音的场景,而是这种,大家感受下:
$cg_img['feiyong']='' $cg_img['lixiang']='' 没错,就是拼出来的字段意思 |
61
skydiver 2016-08-09 14:42:49 +08:00
@lijsh public function isZaned();
public function isNewUserZaned(); |
62
Yuchen 2016-08-09 14:48:55 +08:00
|
63
imn1 2016-08-09 14:50:27 +08:00 1
菲佣、李湘?
|
66
ikaros 2016-08-09 15:35:52 +08:00
有些变量用英文会很长,而且难懂, 我也会用拼音加注释
|
67
8023 2016-08-09 15:43:49 +08:00
很久以前, 我的程序命名都是"Hj2Uu4_0" "Mz2Ju3_1" "Bm4Ld4_8" "Jx2Gb4Ti3_9" "Lz4_a"这类... 同学看了半天没看出来啥意思, 把我批了一顿, 说什么"你写的程序根本不需要混淆"之类的 2333. 但考虑到以后的项目需要合作, 也在学英文, 右边屏幕常驻谷歌翻译的页面, 尽量全英文写+中文注释. 对提高英文水平也有一定帮助. 毕竟, github 上很多英文的好项目...
|
68
echo1937 2016-08-09 15:44:10 +08:00
不推荐拼音作为变量名的原因有:
1. 拼音有声调,有时候读起来未必方便 2. 拼音和英文,有点像 GBK 和 UTF-8 ,前者也堪用,后者更通用 3. IDE 大多有单词拼写检查,但拼音大多没有 4. 这个问题不应该和民族文化扯上关系 |
69
sudoz 2016-08-09 15:46:48 +08:00
菲佣?理想?
|
70
SlipStupig 2016-08-09 16:08:40 +08:00
我五年前在一家公司实习,然后那个我打开工程文件都傻了,那个 VC SDK 全部被汉化了,
比如: OpenFileA 被汉化成,“打开文件(文件句柄, 访问文件权限)”.... 你这个已经好太多了 @phper69 |
71
aprikyblue 2016-08-09 16:13:17 +08:00 via Android
拼音有声调。有时候反应很久才知道哪个词,因为可能第一次读出来声调就错了
|
72
21grams 2016-08-09 16:24:47 +08:00 via Android 1
@SpicyCat 你对可行的理解开创了中文的新概念。而且,请不要继续浪费我的时间了,我没有做中文扫盲教育的兴趣。
|
75
Balthild 2016-08-09 17:25:44 +08:00 via Android
主要是辨识度高低和输入方便与否问题。结果一堆人非得扯洋不洋鬼子装不装逼
|
76
zhangchioulin 2016-08-09 17:25:57 +08:00
卧槽 emoji 变量名...见过没
|
77
tabris17 2016-08-09 17:28:01 +08:00
@SlipStupig 怎么弄的?用#define 吗?
|
78
incompatible 2016-08-09 17:35:15 +08:00
你们见过用汉字做变量名的吗?我第一眼看到时觉得非常吃惊,后来仔细想了想觉得蛮好的,通俗易懂、辨识度高,还可以免去本贴这种无谓的纷争。
|
79
jarlyyn 2016-08-09 18:25:21 +08:00
|
80
bluecubic 2016-08-09 18:25:59 +08:00 via Android
不要忘了是洋人创造了这一切, follow tradition 是一种 manner
|
82
nodin 2016-08-09 18:53:27 +08:00 via Android
只要同一,用什么都行,最多写注释。
|
85
SlipStupig 2016-08-09 20:00:18 +08:00
@tabris17 用 typedef define const 这些关键字就能实现了,有些直接用 API 动态加载,
|
86
8qwe24657913 2016-08-09 20:11:49 +08:00 via Android
@DoraJDJ 虽然你这不是 JSON ,但中文 key 其实还挺好用的……问题在于大量重复,就像把一段代码到处复制一样……
|
88
billlee 2016-08-09 22:28:17 +08:00
比拼音更可怕的是三脚猫英语,我见过有代码里写着 http_exception, 最后发现它想表达的是 malformed HTTP message.
|
89
baozijun 2016-08-09 22:41:15 +08:00
用什么都无所谓,只要命名混淆的地方要有注释,能让自己和别人以后看得懂。
|
90
ligyxy 2016-08-09 23:19:48 +08:00
用拼音不如用中文变量名
罗马化的汉字问题太多 |
91
msg7086 2016-08-09 23:21:37 +08:00 1
@21grams 所以你就是正确的化身? 你认为 @SpicyCat 用别人也在做这件事来证明这件事的正确性是逻辑错误,所以你的观点才是对的,这就是逻辑错误。
讨论中最可怕的就是先把别人定性成逻辑错误,然后自己随便讲都是对的,顺便还可以鄙视一下别人的语文水平,体现自己的优越感。 现在代码和变量都是英文,只是因为第一计算机是从美国开始发源的,第二英语方便交流。也就是说,本来就是因为别人(发明者是美国佬,以及世界上大部分人懂英语这两个事实)都用英文,所以才用英文。 写代码「对不对」是看逻辑是否正确,编译是否通过,和用什么文字语言没有毛关系。变量也好类名也好,用中文用拼音用英语用假名用广东话,无非只是影响团队交流(因为大家用所以我们用)和表达力(因为大家能看懂所以我们用)而已。 |
92
EyreFree 2016-08-09 23:54:53 +08:00 1
萌新瑟瑟发抖,
英文字符/拼音/汉字/拼音,汉字+英文混合/英文单词/自定义的奇怪英文缩写/匈牙利,驼峰,帕斯卡命名法...巴拉巴拉,都用过唉,挺好用的啊,尤其是一起用的时候,那酸爽。 来啊,互相伤害啊,😂 |
93
21grams 2016-08-10 00:10:20 +08:00 via Android
@msg7086 麻烦你从头到尾把我的发言挑出来过一遍,我可有一句话说英文就是对的,拼音就是错的? 我只是指出了某些发言中的逻辑错误而已。错误就摆在那里,需要我来定性? 鄙视别人的语文,那也是有人先提语文挑衅在先,麻烦你看清楚,别选择性失明。 你觉得我有优越感,那也许只是你太自卑罢了。
|
94
lxy 2016-08-10 00:21:59 +08:00 2
汉语拼音的多义性导致阅读效率低下,英文命名则是更广泛和通用的准则,也应该是程序员的基本能力。
拼音命名应当视为能力不足者的一种无可奈何的妥协方式。 人要有点追求,不要选择将就。 |
98
21grams 2016-08-10 07:43:27 +08:00 via Android
@msg7086 逻辑这种东西,只能讲给能同样理解它的人,你觉得那不是错误,说明你我之间在最基础的东西上没有共同点,好比你要教一个人算数,那个人却死都不承认一加一等于二,之后的就更无从谈起。一件事并不以他人是否做而决定它的对错,我觉得这就是一加一,你不承认,那你高兴就好。
|
100
jiezg 2016-08-10 08:22:24 +08:00 via Android
看看你们,真是缺乏幽默感😂
|