中文命名与英文命名代码可读性对比调研 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
xuanwu
V2EX    程序员

中文命名与英文命名代码可读性对比调研

  •  
  •   xuanwu 2018-12-21 14:09:31 +08:00 6253 次点击
    这是一个创建于 2487 天前的主题,其中的信息可能已经有所发展或是发生改变。

    左边为原书附带示例, 右边为中文化后的同功能代码 (第一部分常量值有改动)

    第一部分 演示 1 第二部分 演示 2 第三部分 演示 3

    59 条回复    2018-12-22 22:31:06 +08:00
    hscui
        1
    hscui  
       2018-12-21 14:14:08 +08:00   2
    我觉得中文这种切换输入法特别麻烦。
    FrankHB
        2
    FrankHB  
       2018-12-21 14:17:17 +08:00
    中文屈折变化少,说人话是干脆,但命名有时候就拙计了,有时候为了区分形态不重复不得不搞成短语。
    27
        3
    27  
       2018-12-21 14:25:13 +08:00
    中英文混杂比较影响可读性,要么就全中文(易语言)。。
    YUyu101
        4
    YUyu101  
       2018-12-21 14:33:17 +08:00
    我看了就觉得中文还是适合做注释,和 key 值。
    ScotGu
        5
    ScotGu  
       2018-12-21 14:35:41 +08:00
    你是魔鬼么!
    眼睛疼、脑阔疼!
    myyou
        6
    myyou  
       2018-12-21 14:39:46 +08:00   1
    如果让我看到有人是按右边的写法,直接开揍!
    Raymon111111
        7
    Raymon111111  
       2018-12-21 14:43:31 +08:00   1
    确实, 我也希望全世界人都说中文.
    GoodRainChen
        8
    GoodRainChen  
       2018-12-21 14:43:54 +08:00
    换输入法难受+1

    话说,现在这么大量的培训班选手涌入行业,你们不想着提高门槛,却整天想着让人更容易入门?
    haiyang1992
        9
    haiyang1992  
       2018-12-21 14:44:44 +08:00 via Android
    字符数宽度 这种真的不如英文直观。。maxwidth 两个音节,换成中文有 5 个音节
    sagaxu
        10
    sagaxu  
       2018-12-21 14:44:48 +08:00 via Android
    甲乙丙丁比 abcd 可读性高吗?
    yanghongyi36
        11
    yanghongyi36  
       2018-12-21 14:58:33 +08:00 via iPhone
    这种肯定是中英文各有优势 中文在有约定俗成的简写 和超长变量名的时候会有优势
    KasuganoSoras
        12
    KasuganoSoras  
       2018-12-21 15:06:12 +08:00 via Android
    中文命名不利于国际化推广,你不可能指望全世界都看懂中文,但是英文是全世界都认可的通用语言。
    再者,写代码的时候频繁切换输入法不累吗,而且命名上只要意思表达清楚了就行了,满屏幕中文英文混着写看的头皮发麻,如果我是老板,看到有人这样写代码,直接收东西走人吧
    helionzzz
        13
    helionzzz  
       2018-12-21 15:11:21 +08:00
    不伦不类 邪教
    xomix
        14
    xomix  
       2018-12-21 15:39:32 +08:00
    我觉得吧,关键是,输入法输入中文就算是五笔也是四个字母一个字,效率下降你考虑过吗?
    我还没说其他国家语服开发人员打开你的代码全部乱码没法继续的事儿呢
    SorcererXW
        15
    SorcererXW  
       2018-12-21 15:44:38 +08:00
    就说一点, greatest common divisor 用英文可以简写成 GCD, 而中文必须要老老实实写成最大公约数, 连简写的余地都没有
    MyPassWordis
        16
    MyPassWordis  
       2018-12-21 15:48:07 +08:00   46
    biantaoGG
        17
    biantaoGG  
       2018-12-21 15:55:00 +08:00   1
    没完没了了,已 block
    biantaoGG
        18
    biantaoGG  
       2018-12-21 15:55:57 +08:00   1
    @MyPassWordis 老哥很形象的表达出了我的感觉
    Vegetable
        19
    Vegetable  
       2018-12-21 15:57:16 +08:00
    @MyPassWordis 哈哈哈哈,不厌其烦还没 block 也是不容易.

    你举这个例子没什么说服力,本地语言在复杂业务逻辑里才有可读性优势,四则运算肯定是英文看起来清爽啊,这波推广不成功.
    jinksw
        20
    jinksw  
       2018-12-21 16:07:02 +08:00
    应该是这样 得全中文 符号也得是中文的
    拿蟒蛇举例
    狗子们 = [狗(名字=京京),狗(名字=妮妮)]
    循环 狗 在 狗子们:
    显示(狗的名字)
    947211232
        21
    947211232  
       2018-12-21 16:22:33 +08:00   1
    我对楼主的工作更感兴趣
    rockyou12
        22
    rockyou12  
       2018-12-21 16:23:01 +08:00
    lz 这些例子没有实际意义,中文命名在某些业务中还是有很大价值。之前很多人也讨论烂了,什么仙侠玄幻游戏,法律,还有些 gov 的软件,业务是没法翻译成英文的,不用中文就勉强用拼音了。
    JCZ2MkKb5S8ZX9pq
        23
    JCZ2MkKb5S8ZX9pq  
       2018-12-21 16:30:15 +08:00
    我是来赞 16 楼的
    iir910
        24
    iir910  
       2018-12-21 16:36:54 +08:00   1
    为什么你们会觉得需要切输入法?大多数输入法中文状态就可以直接输入英文标点。
    反正语言自身保留的单词用英文,自定义的变量函数名用中文。连语法着色都省一半了。
    有人觉得头皮发麻纯粹是习惯问题。
    atcdef
        25
    atcdef  
       2018-12-21 16:37:43 +08:00
    说实话,我很想用中文命名变量,可惜缺少合适的 ide,没有 ide 的支持,中文变量的输入成为很大问题,要来回切换输入法,太累人了
    bokchoys
        26
    bokchoys  
       2018-12-21 16:50:50 +08:00 via iPhone
    少数派今天推了一个英文命名的利器
    pexcn
        27
    pexcn  
       2018-12-21 16:53:03 +08:00
    怎么就这么有空。。lz 不上班吗
    VDimos
        28
    VDimos  
       2018-12-21 17:02:41 +08:00 via Android
    @MyPassWordis 完美贴切
    ipwx
        29
    ipwx  
       2018-12-21 17:08:21 +08:00
    gcd √
    最大公约数 ×
    hoge
        30
    hoge  
       2018-12-21 17:19:07 +08:00
    来回切换输入法 累不累啊
    welkinzh
        31
    welkinzh  
       2018-12-21 17:22:22 +08:00   1
    我佛了,怎么老是你
    mogami95
        32
    mogami95  
       2018-12-21 19:48:22 +08:00
    @ipwx ccp 手动狗头
    windfarer
        33
    windfarer  
       2018-12-21 20:04:36 +08:00 via Android
    赞 16 楼
    ispinfx
        34
    ispinfx  
       2018-12-21 20:06:21 +08:00 via iPhone
    世界竟有如此闲得蛋疼之人
    jamesxu
        35
    jamesxu  
       2018-12-21 20:10:27 +08:00 via iPad   2
    最近 V2EX 两个闹腾的比较厉害,一个是中文编程,一个是 APIJson,简直没完没了
    jimchen9999
        36
    jimchen9999  
       2018-12-21 20:17:56 +08:00
    没完没了了 啊
    hekunhotmail
        37
    hekunhotmail  
       2018-12-21 20:25:44 +08:00
    不行 中文完全不行
    xuanwu
        38
    xuanwu  
    OP
       2018-12-21 20:42:18 +08:00 via Android
    @hscui
    @GoodRainChen
    @KasuganoSoras
    @atcdef 输入法见 24 楼

    @ipwx
    @SorcererXW 最大公约数上了小学五年级就能看懂
    SorcererXW
        39
    SorcererXW  
       2018-12-21 20:45:23 +08:00
    @xuanwu #38 上了小学五年级和你能不能简写"最大公约数"这个函数名有什么关系吗
    zhang1215
        40
    zhang1215  
       2018-12-21 20:47:15 +08:00
    @MyPassWordis 16 楼人才啊哈哈哈哈哈
    royzxq
        41
    royzxq  
       2018-12-21 22:51:22 +08:00
    这么轰炸谁顶得住啊
    DinoStray
        42
    DinoStray  
       2018-12-21 23:35:53 +08:00 via iPhone
    不适应,还是习惯,也更喜欢英文编程
    Baymaxbowen
        43
    Baymaxbowen  
       2018-12-21 23:37:59 +08:00
    简直了,推广就推广啊,每天都发一个贴干嘛
    GuangXiN
        44
    GuangXiN  
       2018-12-21 23:51:56 +08:00
    @SorcererXW 看到 GCD 的缩写,首先想到的是共产党……
    xuanwu
        45
    xuanwu  
    OP
       2018-12-22 00:26:37 +08:00 via Android
    @SorcererXW 区别是 中国高中学历的 2 亿人 有小学学历的十亿
    bigHentai
        46
    bigHentai  
       2018-12-22 01:55:22 +08:00
    看来 v 站做游戏的不多呀, 遇到各种五行八卦法宝元神的,,,真的不知道怎么用英文命名,,,
    lesteryu
        47
    lesteryu  
       2018-12-22 02:03:03 +08:00 via iPhone
    不是说“可读性对比调研”么,我这楼以上大部分人都觉得可读性不强啊,楼主还有别的什么调研标准能得出不同的结论么?
    SorcererXW
        48
    SorcererXW  
       2018-12-22 09:46:34 +08:00 via Android
    @xuanwu 是什么让你产生了全民编程的幻想,这个世界不需要这么多 HelloWorld
    karllynn
        49
    karllynn  
       2018-12-22 10:12:09 +08:00
    又来了,我日
    xuanwu
        50
    xuanwu  
    OP
       2018-12-22 11:18:31 +08:00
    @SorcererXWt/518452#reply193 顶楼的亲身经历. 原本国内高中生业余爱好就可以轻松做的活, 要我奔四的大叔熬夜做, 不是国内程序员人力短缺是什么?
    yucao
        51
    yucao  
       2018-12-22 11:18:46 +08:00
    无聊不无聊,为了可读性这么丧心病狂的吗...
    要是我周围同事写右边的代码我头都把他打爆
    而且要是与国外的程序员共享讨论问题有本事你写右边的试试
    xuanwu
        52
    xuanwu  
    OP
       2018-12-22 11:20:27 +08:00
    @yucao 问题是, 你现在和国内的程序员共享讨论问题写左边却觉得自然而然. 再过十年回头看吧, 到底是谁醉谁醒.
    yucao
        53
    yucao  
       2018-12-22 11:29:57 +08:00
    @xuanwu 这么说吧,我是干游戏引擎与渲染的,这方面的最领先的工作完全是英语区的,跟国外的大佬或者社区讨论必定需要英语,阅读最新的 paper 或者书籍也都是英文的,而且估计至少未来 10 年也不会有变化,硬要中文化只能是故步自封
    xuanwu
        54
    xuanwu  
    OP
       2018-12-22 11:41:49 +08:00
    @yucao 你创建过开源项目的话, 有国外开发者参与吗? t/518452#r_6627906
    没有的话, 为学习 /生活, 自然无可厚非.
    之前我也是写了将近十年的英文代码 (见个人简介), 现在至少业余自己说了算. 希望后来人不用再必须用英文编程那么久.
    FrankHB
        55
    FrankHB  
       2018-12-22 14:58:13 +08:00
    @rockyou12 补一点,有些不是好不好翻译的问题,用拼音可能是政治需求(实际项目中有遇到过,即便私底下还是用英文,最后再人工翻译)。
    FrankHB
        56
    FrankHB  
       2018-12-22 15:02:37 +08:00   1
    @xuanwu 有着闲工夫你还是先把代数课本里的 xyz 换成前朝的甲乙丙丁吧,看看会不会被中学生打爆。
    abuzzworld
        57
    abuzzworld  
       2018-12-22 15:05:29 +08:00
    这不算纯中文嘛,if、for、val 都用中文啊,点语法可以换 "的" 语法啊,xxx.yyy 可以变成 什么什么的什么什么,要中文就纯正一点嘛。
    j717273419
        58
    j717273419  
       2018-12-22 15:52:02 +08:00
    问一下,怎样全站屏蔽 [中文命名] 和 [中文编程] 这样的反智问题?这种帖子感觉就是在用中文给英文口语配音。。。
    i0error
        59
    i0error  
       2018-12-22 22:31:06 +08:00 via iPhone
    block
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     858 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 20:21 PVG 04:21 LAX 13:21 JFK 16:21
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86