V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zjsxwc
V2EX  ›  程序员

有没有人想一起制定一个编程拼音命名标准,发布到 github 上?

  •  
  •   zjsxwc ·
    zjsxwc · 2018-08-17 15:01:50 +08:00 · 5414 次点击
    这是一个创建于 2050 天前的主题,其中的信息可能已经有所发展或是发生改变。

    编程中文命名的读和写都很影响效率。

    写的话还要用输入法输入太慢了。

    读代码的时候,为了避免由于不同停顿导致的歧义我都要读 3、4 遍反复确认才能大致看明白中文意思,当碰到满屏中文时简直就是噩梦。

    我宁愿用下划线配合数字声调的拼音命名也不接受中文命名,eg:

    function ji4suan4_yi2ge4_yun4fei4(){}  //计算一个运费
    
    function shang4chuan2_tu2pian4(){}  // 上传图片
    
    function cheng2ping3_cang2ku4_ru4ku4(){}  //成品仓库入库
    
    
    第 1 条附言  ·  2018-08-18 13:43:37 +08:00
    83 条回复    2018-08-25 00:33:22 +08:00
    thisisgpy
        1
    thisisgpy  
       2018-08-17 15:09:22 +08:00
    敲这么长不累吗? calcShipping,uploadPic 不好么
    zhuangqhc
        2
    zhuangqhc  
       2018-08-17 15:14:56 +08:00
    编程中文命名的读和写都很影响效率。
    ------------------------------------------
    所以你应该用英文 :)
    helionzzz
        3
    helionzzz  
       2018-08-17 15:15:11 +08:00   ❤️ 14
    你就没有想到过如果码农来自普通话不标准地区的话这是一场多严重的灾难么
    zjsxwc
        4
    zjsxwc  
    OP
       2018-08-17 15:15:23 +08:00
    ```
    function ying1shou1kuan2_he2xiao1(){} //应收款核销

    function yu4shou1kuan2_hong2chong1lan2(){} //预收款红冲蓝
    ```
    Rizio
        5
    Rizio  
       2018-08-17 15:17:55 +08:00
    @zjsxwc
    款不是 3 声吗?我读半天感觉自己像个外国人学中文
    zjsxwc
        6
    zjsxwc  
    OP
       2018-08-17 15:19:13 +08:00
    ```
    function ying1shou1kuan2_he2xiao1(){} //应收款核销

    function yu4shou1kuan2_hong2chong1lan2(){} //预收款红冲蓝

    function ying1shou1kuan3_hui4zong3_heng2xiang4_dui4zhang4dan1(){} //应收款汇总横向对账单

    ```


    @thisisgpy
    @zhuangqhc

    碰到个性化业务相关的英文命名不好的,这是经验好不好!!!
    zjsxwc
        7
    zjsxwc  
    OP
       2018-08-17 15:19:48 +08:00
    @Rizio 回帖太急了,我的错
    xinhangliu
        8
    xinhangliu  
       2018-08-17 15:22:21 +08:00 via Android
    这些都是外国先搞的,我不信没有专有名词。英文不用,非要用拼音,感觉还不如直接用汉字
    xiaojunjor
        9
    xiaojunjor  
       2018-08-17 15:22:40 +08:00
    an1bai3ren2_gai1xue2xiao4_ying1bo1fu2_gong1yong4jing1fei4

    按百人该学校应拨付公用经费
    yulitian888
        10
    yulitian888  
       2018-08-17 15:23:58 +08:00
    敲那么长不难受吗?用五笔的人怎么办?用郑码的人怎么办?胡建人和福南人表示看不懂对方的拼音怎么办?
    E 文阅读能力差到必须用中文的程度了吗?
    smilenceX
        11
    smilenceX  
       2018-08-17 15:25:20 +08:00
    看着真让人不舒服
    每个语言都有自己的命名风格。
    creamiced
        12
    creamiced  
       2018-08-17 15:25:59 +08:00
    不如用 Unicode 编码,IDE 插件自动转换中文
    还有一个办法,用易语言
    kilohaty
        13
    kilohaty  
       2018-08-17 15:26:09 +08:00
    忍不住笑出了声。。。
    smilenceX
        14
    smilenceX  
       2018-08-17 15:27:10 +08:00
    @yulitian888 et_ggtt_r_w_skce_yi_ith_rhj_b_rs_ovpb_r_ysod (用五笔的人可能就省掉了打数字的麻烦)
    M0
        15
    M0  
       2018-08-17 15:28:17 +08:00
    上学的时候老师就说了,所有命名带汉字带拼音的一律不过。
    imikay
        16
    imikay  
       2018-08-17 15:28:52 +08:00
    都想用拼音了,为什么不直接用汉字?
    ihainan
        17
    ihainan  
       2018-08-17 15:28:56 +08:00


    =。=
    ShundL
        18
    ShundL  
       2018-08-17 15:29:06 +08:00
    个人感觉:用五笔的拼这么长的拼音很头疼, 这阅读起来也挺累的吧?
    jinhan13789991
        19
    jinhan13789991  
       2018-08-17 15:30:01 +08:00
    方法名直接用中文啊~ 现在都支持的
    LokiSharp
        20
    LokiSharp  
       2018-08-17 15:31:40 +08:00
    直接用中文不就好了
    AEANWspPmj3FUhDc
        21
    AEANWspPmj3FUhDc  
       2018-08-17 15:32:47 +08:00   ❤️ 3
    如果团队中有外国人又怎么办?

    恕我直言。一些基础单词都不会,这样还不如别来当程序员了。
    LucasLee92
        22
    LucasLee92  
       2018-08-17 15:32:49 +08:00
    都搞到这程度了,直接中文呗
    AEANWspPmj3FUhDc
        23
    AEANWspPmj3FUhDc  
       2018-08-17 15:32:58 +08:00
    或者直接用易语言吧。
    x7395759
        24
    x7395759  
       2018-08-17 15:33:53 +08:00
    徒增烦恼,我还要想一下是第几声?

    直接用中文不就得了
    mrvon
        25
    mrvon  
       2018-08-17 15:35:09 +08:00
    这种命名真的太难看了~接受不了~
    liuzelei
        26
    liuzelei  
       2018-08-17 15:35:42 +08:00   ❤️ 1
    现在程序员的门槛已经这么低了么?学点基础英文单词,过个 cet4 有那么难?
    torment5524
        27
    torment5524  
       2018-08-17 15:35:57 +08:00
    遇到不知道英文的变量场景,我都是临时网上搜一下的。。。
    除非很紧急,临时处理下,或者自用,才会用拼音,但大都是缩写。。。没标过音调。。。老实说标发音几声我以前真没想到。。
    Phariel
        28
    Phariel  
       2018-08-17 15:37:30 +08:00 via iPhone
    你这个比易语言还 666。。。
    AckywOw
        29
    AckywOw  
       2018-08-17 15:40:58 +08:00
    不都是 996 吗?这到底是有多闲,比我还闲😳
    gamexg
        30
    gamexg  
       2018-08-17 15:41:16 +08:00
    还不如用汉字,要么英文要么汉字,现在大部分语言都支持汉字了。
    Miary
        31
    Miary  
       2018-08-17 15:45:53 +08:00
    还不如用拼音...
    passerbytiny
        32
    passerbytiny  
       2018-08-17 15:46:14 +08:00
    现在的拼音输入法都是一个妥协措施,拼音本身都不成熟,你还想让他往编程语言上搞。

    读音和文字是两码事,英语变成用的是文字而不是读音,换成汉语变成也得是文字,不能是拼音。
    Exia
        33
    Exia  
       2018-08-17 15:47:20 +08:00
    我在想冰岛的程序员命名是不是冰岛语,还有德国的,法国的,为什么不说日本或是韩国,因为我想知道直接能打出来的字符而不用转的命名是不是当地的语言。
    514656282
        34
    514656282  
       2018-08-17 15:48:26 +08:00
    编程中文命名的读和写都很影响效率。

    看拼音效率就很高?真的不是在搞笑吗
    beny2mor
        35
    beny2mor  
       2018-08-17 15:50:32 +08:00
    30#说的对
    beny2mor
        36
    beny2mor  
       2018-08-17 15:52:48 +08:00
    你可以注明: 该标准适用于只限国内开发者参与开发的项目。
    zacksleo
        37
    zacksleo  
       2018-08-17 15:59:15 +08:00
    加个中文注释不就 ok 了
    ResidualSoils
        38
    ResidualSoils  
       2018-08-17 16:00:04 +08:00 via iPhone
    标准不适合用开源的方式指定。
    daigouspy
        39
    daigouspy  
       2018-08-17 16:00:09 +08:00 via Android   ❤️ 1
    如果程序员是胡建人...
    just1
        40
    just1  
       2018-08-17 16:03:54 +08:00 via Android
    @daigouspy 我们福建很标准的🌚广东那才受不了
    CaptainInPHW
        41
    CaptainInPHW  
       2018-08-17 16:07:00 +08:00 via iPhone
    智障命名法
    eternaldzw
        42
    eternaldzw  
       2018-08-17 16:08:06 +08:00
    还不如用汉字。。
    faceRollingKB
        43
    faceRollingKB  
       2018-08-17 16:09:56 +08:00
    用英文是因为别人看代码的时候通过查英文可以明白里面的意思,而且英文名称太长时用缩写加注释的形式也很方便,同时还能锻炼自己的英文能力,何乐而不为,读文档什么的不也是要看英文么;
    当然你用拼音也可以,只是目前英文规则基本都普及了,别人看到拼音会没有 sense,谁想用谁用就行,至于说普通话不标准或者不懂拼音的人,学拼音总不会比学英文还难吧,只是应用面没有英文那么广罢了。
    wangxiaogou
        44
    wangxiaogou  
       2018-08-17 16:10:05 +08:00
    @daigouspy fafafafafa
    001enoolleh
        45
    001enoolleh  
       2018-08-17 16:11:21 +08:00
    七夕了,打击你一下,英文这么差,就不要写代码了
    xiadd
        46
    xiadd  
       2018-08-17 16:16:29 +08:00
    用双拼的怎么办->ysulpbdezfmebj, 这样你看得懂吗
    ermao
        47
    ermao  
       2018-08-17 16:19:33 +08:00
    真的丑 比拼音还丑
    zvving
        48
    zvving  
       2018-08-17 16:29:25 +08:00
    请用英文……

    如果你团队都这么奇葩,请用汉字……
    hmzt
        49
    hmzt  
       2018-08-17 16:30:31 +08:00
    虽然我觉得用中文编程没啥不好,但是拼音的话中国人自己看着也挺费劲的
    AmorZhang
        50
    AmorZhang  
       2018-08-17 16:58:58 +08:00
    ni3zhe4yang4du2qi3lai2zhen1de1tai4fei4jin4le1
    Felldeadbird
        51
    Felldeadbird  
       2018-08-17 17:06:01 +08:00
    高考最怕遇到拼音题了。楼主这个标准适用性太低了。
    mengzhuo
        52
    mengzhuo  
       2018-08-17 17:41:52 +08:00
    wo3shuo1ni3men2jiu4bu2yao4yong4pin1yin1le1
    bu4ru2yong4zhu4shi4.
    madmen
        53
    madmen  
       2018-08-17 17:49:20 +08:00
    逼死代码洁癖患者系列。。。
    someonedeng
        54
    someonedeng  
       2018-08-17 18:01:17 +08:00
    劣质复读机一下 lz 的话,好像没什么毛病:

    编程拼音命名的读和写都很影响效率。

    读代码的时候,为了避免由于不同停顿导致的歧义我都要读 3、4 遍反复确认才能大致看明白拼音意思,当碰到满屏拼音时简直就是噩梦。
    DOLLOR
        55
    DOLLOR  
       2018-08-17 19:21:20 +08:00 via Android
    应该用双拼,拼式更短
    YenvY
        56
    YenvY  
       2018-08-17 19:52:33 +08:00
    其实应该把六字真言的定义展开成好几千字英文写成标准扔到 github 上供人引用
    HaoyangWei
        57
    HaoyangWei  
       2018-08-17 21:08:05 +08:00
    那么:

    hu2jian4ren2_zen3me2ban4?
    fu2lan2ren2_zen3me2ban4?

    只是开玩笑, 没有攻击的意思, 希望不要误会 :)
    oushede
        58
    oushede  
       2018-08-17 22:50:09 +08:00
    我以前是这么干的:
    string zwblm 中文变量名 = "xxx";
    签名用拼音首字母缩写,方便 IDE 的自动填充。
    oushede
        59
    oushede  
       2018-08-17 22:51:10 +08:00   ❤️ 1
    呃,为毛会自动加了个空格。是这样的:
    string zwblm_(这里没有空格)中文变量名 = "xxx";
    mingyun
        60
    mingyun  
       2018-08-17 23:05:00 +08:00
    用工具翻译下很难吗
    Mrkon
        61
    Mrkon  
       2018-08-17 23:50:19 +08:00
    用英语习惯了,感觉好别扭啊。我觉得汉语发展这么多年了,是相对更高级的语言。所以在开发上有些不适合
    RqPS6rhmP3Nyn3Tm
        62
    RqPS6rhmP3Nyn3Tm  
       2018-08-18 04:00:29 +08:00 via iPhone
    编程婆罗门(狗头
    xuanwu
        63
    xuanwu  
       2018-08-18 04:52:29 +08:00
    "中文编程"github 讨论组对术语词典(英文术语->中文术语, 非拼音)的讨论贴: https://github.com/program-in-chinese/overview/issues/54

    @Exia 国外用母语命名开发的例子: https://www.v2ex.com/t/480623#r_6047471
    Mark24
        64
    Mark24  
       2018-08-18 10:15:59 +08:00
    不是不样用拼音么 (滑稽.jpg )
    chinvo
        65
    chinvo  
       2018-08-18 10:42:33 +08:00
    @xiadd #46 还要考虑双拼方案不同

    ysudpndezfmebj
    chinvo
        66
    chinvo  
       2018-08-18 10:50:31 +08:00
    而且对用微软方案的人来说太痛苦了

    y;ysiuuihw
    ^ -- unexpected semicolon
    Kirscheis
        67
    Kirscheis  
       2018-08-18 11:19:25 +08:00
    直接用中文不就好了,现在的文件不都是 utf-8,执行毫无问题,中文打习惯了也很快的。
    wdring
        68
    wdring  
       2018-08-18 12:16:43 +08:00
    function 上床
    function 上传
    function 上船
    XxxxD
        69
    XxxxD  
       2018-08-18 12:48:30 +08:00
    我还在等人甩链接过来呢,看来没有
    xuanwu
        70
    xuanwu  
       2018-08-18 13:08:37 +08:00 via Android
    @Kirscheis 可否分享一下中文命名的经验体会?
    weixiangzhe
        71
    weixiangzhe  
       2018-08-18 14:00:44 +08:00 via iPhone
    @smilenceX 用新世纪五笔的和用 98 五笔怎么办😂
    nomemo
        72
    nomemo  
       2018-08-18 14:02:27 +08:00
    看这帖浪费了 1 分钟生命。。
    diggerdu
        73
    diggerdu  
       2018-08-18 14:14:26 +08:00 via iPhone
    @ivlioioilvi 你怎么知道别人不会 就剩这点优越感了
    thisisgpy
        74
    thisisgpy  
       2018-08-18 14:55:37 +08:00
    @zjsxwc 你说的这些财务类的业务都有对应的英文名词,根本用不着使用拼音去命名。你可以查阅相关的英文经济术语。
    Dk2014
        75
    Dk2014  
       2018-08-18 14:56:56 +08:00
    还得念一遍才能懂意思
    我记得有个专门翻译变量的
    /t/269793
    silenuszhi
        76
    silenuszhi  
       2018-08-18 15:15:04 +08:00
    成品 cheng2pin3 不是 cheng2ping3
    Exia
        77
    Exia  
       2018-08-18 16:32:59 +08:00
    @xuanwu 看到你发的 https://www.quora.com/Has-any-serious-project-been-written-in-a-non-English-based-programming-language/answer/Alan-Mellor?share=78d29f62&srid=hmU8k

    确实还真是这样,但是他们也就是直接打出字母,根本不用转换想法呢,能够直接读懂我觉得才是好的。毕竟读写程序其实已经是将想法通过某种语言去告诉计算机了。
    jinyu121
        78
    jinyu121  
       2018-08-18 19:25:33 +08:00
    @xiadd 其实熟悉了就能自己脑补拼出来的。zirjmazvhkle,uiba ?
    e8c47a0d
        79
    e8c47a0d  
       2018-08-18 20:35:29 +08:00
    笑得我菊花有点痛🤣
    laolinn
        80
    laolinn  
       2018-08-18 22:46:21 +08:00 via iPhone
    用易懂的英文岂不是更好?
    GeruzoniAnsasu
        81
    GeruzoniAnsasu  
       2018-08-19 01:48:39 +08:00
    强烈推荐变量名转换

    源码直接用中文写,对于不支持中文的平台转成英文字符签名,只需要有映射关系即可,不用考虑可读性,因为可读性的问题完全可以重新映射回中文来解决

    我觉得直接转命名成 u_xxxx_u_yyyy_u_aaaa_u_bbbb unicode 码表一把梭就行
    suduo1987
        82
    suduo1987  
       2018-08-20 11:56:47 +08:00
    用拼音得代码走读一律不过
    mary9
        83
    mary9  
       2018-08-25 00:33:22 +08:00
    楼主,原谅我,笑出猪叫声 LOL
    虽然我不会用这种写法,但是一开始我看到拼音也不奇怪,毕竟谷歌猜画小歌的代码被人反编译之后也有拼音出现。不过你这更厉害,还标上音标是第几声了。一开始还反应不过来 LOL
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1668 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 16:46 · PVG 00:46 · LAX 09:46 · JFK 12:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.