aLIEz09

公司新人,项目组另外一个开发同事,代码中写中文,命名用拼音,请问我作为一个新来的,应该怎么跟他合作开发?

  •  
  •   aLIEz09 · Jul 19, 2019 · 16931 views
    This topic created in 2671 days ago, the information mentioned may be changed or developed.
    Supplement 1  ·  Jul 19, 2019
    本人做安卓 APP 开发,拼音都是小问题,个人习惯。主要是代码里面中文(不是注释),后面要修改几百个文件里面中文问题。
    Supplement 2  ·  Jul 19, 2019
    本人做安卓 APP 开发,拼音都是小问题,个人习惯。主要是代码里面中文(不是注释),后面要修改几百个文件里面中文问题。
    137 replies  •  2019-07-20 01:41:52 +08:00
    1  2  
    ❮ ❯
    chanchan
    chanchan
    Jul 19, 2019❤️2
    1
    贴个图,我想看 /doge
    rawidn
    rawidn
    Jul 19, 2019 via Android
    2
    要么忍,要么~
    15651980765
    15651980765
    Jul 19, 2019
    3
    只要不让你维护他的代码就好了,现在都是一人一个模块,关系不大。
    我们代码里 flag 写成 falg,button 写成 botton 诸如此类的数不胜数,以前我还说下,现在都懒得说的。没必要拿自己的标准去要求别人,管好自己就行了。除非他危机到你的利益了。
    dovme
    dovme
    Jul 19, 2019 via Android❤️8
    4
    我就服我的同事 let falg= aaa==='bbbb'? true: false
    Lykos
    Lykos
    Jul 19, 2019❤️13
    5
    只是拼音还算好的了,我们这拼音还带大舌头,有的拼音你看到了,还要根据上下文捋一下
    aLIEz09
    aLIEz09
    OP
    Jul 19, 2019 via Android
    6
    @15651980765 svn 管理代码,和他开发同一个应用,命名拼写错误还能接受,主要是拼音还有代码中文,我前期按照领导要求把里面中文都替换了,但是后面新功能两个人开发的时候,我看了下他的代码,里面又一大堆中文。。。。
    merlin9527
    merlin9527
    Jul 19, 2019
    7
    我公司之前有个同事写的代码是 中英混搭的
    aLIEz09
    aLIEz09
    OP
    Jul 19, 2019 via Android
    8
    @chanchan 公司代码不能贴啊(虽然很烂)
    v2hh
    v2hh
    Jul 19, 2019
    9
    我就服我同事 if(flag==false){}
    stanjia
    stanjia
    Jul 19, 2019
    10
    @dovme 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
    TimPeake
    TimPeake
    Jul 19, 2019
    11
    应该是前端吧
    15651980765
    15651980765
    Jul 19, 2019
    12
    @dovme 卧槽!上次看到同事代码里也写了和你这个很像的代码,表达式?true:false,现在还在生产跑着呢!

    @v2hh if(falg === false) 我同事这个比你同事那个的还奇葩
    caviare
    caviare
    Jul 19, 2019
    13
    @TimPeake 你是不是对前端有什么误解?? 这跟前端有什么关系? 这是人的问题吧。。
    lixuedong
    lixuedong
    Jul 19, 2019
    14
    @aLIEz09 是注释写中文吗 我也经常注释写中文,毕竟自己看,再加上英语并没有那么强
    secsilm
    secsilm
    Jul 19, 2019 via Android
    15
    有时候变量名不好取直接写拼音我能理解,但是楼主说的中文是直接用中文作为变量名?
    secsilm
    secsilm
    Jul 19, 2019 via Android
    16
    @lixuedong 注释中写中文没毛病吧
    Dogergo
    Dogergo
    Jul 19, 2019
    17
    注释不让写中文么?那注释有什么意义,注释是为了让人更快的了解这段代码。强制英文除了看起来有 B 格一些,还有什么意义么
    wc951
    wc951
    Jul 19, 2019 via Android
    18
    代码写中文什么意思,指的是注释,异常信息,日志这些?
    sevenstone
    sevenstone
    Jul 19, 2019 via Android
    19
    @lixuedong 应该不是说注释,注释写中文还改什么…手动狗头 : )
    hyy1995
    hyy1995
    Jul 19, 2019
    20
    中文是指注释?注释的话没毛病。至于拼音那就没得洗了,无法想象用拼音的队友。。。
    aLIEz09
    aLIEz09
    OP
    Jul 19, 2019 via Android
    21
    @secsilm 不是,我是做 Android 的,里面字符串资源一般都会写到一个单独的 xml 文件,尤其中文硬编码在代码里是非常不靠谱的。
    tt67wq
    tt67wq
    Jul 19, 2019
    22
    不知道为啥,我对接了好多家查违章的 API,无一例外,返回结果都是拼音首字母
    Muninn
    Muninn
    Jul 19, 2019
    23
    注释写中文没毛病

    变量命名就需要你们搞个规范了,可以给出那个命名翻译查询工具呀。
    不然他自己翻译的有时候比中文还看不懂啊。

    有时候专业领域还真挺适合拼音的。英文可能要 20 多个字节,中文双拼不超过 10 个字节哈哈。
    maddot
    maddot
    Jul 19, 2019
    24
    注释写中文很好
    那些中式英文写的人费劲,看的人难受
    wjh3936
    wjh3936
    Jul 19, 2019
    25
    拼音算什么,拼音+英语单词然后混合首字母缩写才叫可怕
    noe132
    noe132
    Jul 19, 2019❤️1
    26
    二五五随机数=function(){
    return 数学.floor(数学.random()*25)+225
    }
    dovme
    dovme
    Jul 19, 2019 via Android❤️9
    27
    更可怕的是明明不会英语,非要用翻译翻译出来一个,意思根本就不对的命名出来,你问他这个命名是什么鬼的时候,他还说你英语真垃圾,举例:手机->手 hand 机 machine 于是手机的英语就是 handmachine
    5200
    5200
    Jul 19, 2019❤️3
    28
    给他安利一个这个? https://unbug.github.io/codelf/
    cabing
    cabing
    Jul 19, 2019
    29
    手机不是 phone 吗。。。
    @dovme
    TimPeake
    TimPeake
    Jul 19, 2019
    30
    @caviare 没有什么误解。因我我也是前端,我知道这种事前端代码里出现的概率更高
    aLIEz09
    aLIEz09
    OP
    Jul 19, 2019 via Android
    31
    @lixuedong 是代码,不是注释,举个例子 xingming.setText(“张三”)
    expkzb
    expkzb
    Jul 19, 2019
    32
    我最近看到的比较好的中文在代码中的应用。

    let 哈哈 = “(^_^)”
    dovme
    dovme
    Jul 19, 2019 via Android
    33
    @cabing 举例而已 没找到合适的例子,反正就是词分开翻译,然后组合在一起
    ChenKevin
    ChenKevin
    Jul 19, 2019❤️5
    34
    @v2hh 我经常这么干
    if (flag == false) 而不是 if(!flag)
    我刚搜索了下代码,好多处是这么写的。
    因为很多表达式直接写!和&&放在一起很绕,经常搞晕了,
    所以我就简单这么写,虽然多打了几个字符。
    jydeng
    jydeng
    Jul 19, 2019
    35
    @tt67wq 对接过公安、交警系统,无一例外都是
    berumotto
    berumotto
    Jul 19, 2019❤️4
    36
    V 站有一个三天两头推广中文编程的老哥,让他把你同事带走吧
    TobiahShaw
    TobiahShaw
    Jul 19, 2019
    37
    @aLIEz09 #21
    1、写到资源文件很好,但是一旦碰到不靠谱的设计和产品(没有规范,例如色板、标题样式、正文样式,文案规范)的,几乎每个颜色,字号,文案都是不可复用的,就是 determine 都有“确定”、“确认”等几种。。。会导致资源文件文本量巨大。如果一旦强行复用,设计或者文案要求改一个地方,会导致整个项目里的全部变掉,除非时间比较充裕,有国际化需求,复用需求比较明确,有些只用到一次的,在字符串中写也是可以的。不然在不太靠谱的情况下维护成本比较高。

    2、但是命名大量拼音就是比较严重的问题了,别人看不懂的话,维护成本会比较高,而且会看的人很烦躁。

    3、你举的例子 xingming.setText(“张三”)中张三看起来更像是硬编码的情况。大部分数据应该来自服务端,本地的字符串应该都是模板性质或者页面标题。
    ourzhang
    ourzhang
    Jul 19, 2019❤️1
    38
    日本人写代码用日文命名。中国人写代码不能用拼音,必须用英文。

    如果你们公司或者项目没有限制的话建议你别管。我不认为项目复杂到用拼音命名会让你看不懂代码。
    keepfun
    keepfun
    Jul 19, 2019
    39
    @v2hh 最开始我也挺好奇 居然这么写 不过别人说了之后 我觉得这样挺好的 看起来很简单明了 所以我也这么写了 这不算什么奇葩吧
    iwishing
    iwishing
    Jul 19, 2019
    40
    @ourzhang 拼音就不怕音同字不同嘛?
    Vegetable
    Vegetable
    Jul 19, 2019
    41
    @tt67wq #22 哈哈哈哈你知道为什么吗?因为车管所用的是拼音,他们没转罢了。这个我也无力吐槽了,车管所相关的所有查询都是速度慢,问题多,拼音首字母当变量名。
    ershierdu
    ershierdu
    Jul 19, 2019❤️1
    42
    @ChenKevin
    +1
    我觉得 == false 这种表达更直接,符合直觉
    用 '!' 一方面比较容易看漏了(特别是比较长的表达式),
    另一方面有点像“通过说明 a 取反后是 true,来表示 a 是 false ”,有点绕
    simple2025
    simple2025
    Jul 19, 2019
    43
    @ershierdu 肯定是==false 好吧,像 python 里面 None,0, false 的 boolean 都是 false,容易出问题
    learnshare
    learnshare
    Jul 19, 2019
    44
    习惯就好,水平不一才正常
    TobiahShaw
    TobiahShaw
    Jul 19, 2019
    45
    @TobiahShaw #37
    如果是 1 这种情况:
    1、工作空闲的时候先找设计制定规范,选取 3 到 5 个常用颜色,10 到 20 个会用到的颜色,给颜色命名,然后发布出来,以后出的设计图上则不得出现色值(包含但不限于 RGB ),只能出现颜色的名字。

    2、制定标题样式,正文样式,同上。

    3、找产品或者负责文案的同学,制定文案规范,比如说确定全部用确定表示,不会出现确定、确认等等,模板类的“返现%f.2 元”,非特殊情况(视觉需求)不要出现别的
    finaldusk
    finaldusk
    Jul 19, 2019
    46
    遇到一些很难翻译的 或者翻译后团队其他人看不懂的变量时用过中文变量名 不过变量名全中文的话影响编写速度 于是采用了一直折中的方式 变量名使用 拼音简写前缀+中文全称 命名 这样使用变量时打出来简拼由 IDE 联想一下就行了,当然 是很小的项目(公司做,5W 块)
    soupu626
    soupu626
    Jul 19, 2019
    47
    我司各种变量名,模块名都是拼音首字母缩写,专门有个对应表
    简单感受下 GYLGL CGXY
    finaldusk
    finaldusk
    Jul 19, 2019
    48
    补上一条,当时整个项目都是使用这种规则命名的变量 而不是混合其他规则命名的 因为这个项目里有太多的名称难以翻译为英文了
    redbuck
    redbuck
    Jul 19, 2019
    49
    还见过
    if(flag) {
    // do something
    return
    } else {
    // do something
    return
    }

    该方法无返回,目测只是想退出
    ipiao
    ipiao
    Jul 19, 2019
    50
    @tt67wq 世界那么大,鱼塘那么小
    whypool
    whypool
    Jul 19, 2019
    51
    review 拉出来,喊他自己讲思路
    yuuko
    yuuko
    Jul 19, 2019 via Android❤️1
    52
    楼上这个 if(falg === false) 不是很好的写法么?明确告诉你只有 false 的时候才执行,其他 0 undefined 都不是正确条件
    wangxiaoaer
    wangxiaoaer
    Jul 19, 2019
    53
    我来浇冷水了,不要提起代码用拼音就开始拔刀。

    很多业务系统,涉及到各种中文指标的,尤其是一些冷门专业的,如果全部用英文标识,没几个读得懂,拼音这个时候的优势就出来了。
    virus94
    virus94
    Jul 19, 2019
    54
    @15651980765 赞同 自己的垃圾代码自己维护去吧
    AlexMeng
    AlexMeng
    Jul 19, 2019
    55
    不太明白为什么都在吐槽拼音作为变量名??总比无意义的 abcdefg 好多了吧?有的人的英语水平写英语更看不懂,还要莫名其妙的英语缩写,看着更麻烦
    zhensjoke
    zhensjoke
    Jul 19, 2019❤️1
    56
    @dovme 想起来一位老哥说的女同事,单位米写的 race,还用金山词霸的取词翻译给他看....
    HolmLoh
    HolmLoh
    Jul 19, 2019
    57
    @v2hh
    +1,之前维护一个同事的旧项目 :
    if(flag==true) {}
    if(kong==true){}
    int y
    int a
    int aaa
    每个方法下面都会有巨大的 if,一个类下面也只有一个几百行的方法,还有一个 3000 行的 sql 类
    wildnode
    wildnode
    Jul 19, 2019
    58
    @zhensjoke #56 应该是 rice 吧,23333
    remarrexxar
    remarrexxar
    Jul 19, 2019
    59
    经常看到这么写的
    if(xxxxxxx){
    return false;
    }
    else{
    return true;
    }
    HenryW
    HenryW
    Jul 19, 2019
    60
    现在在维护一个旧项目... 回调方法里 switch case 嵌套 switch case,每一个 case 都是纯数字,我特么看代码都是全局搜索,这酸爽....
    qiaobeier
    qiaobeier
    Jul 19, 2019❤️1
    61
    @15651980765 这不是很正常,我还会写成这样呢 if (typeof flag === 'boolean' && flag === false) { //do something}
    是不是超长超难受啊?
    zr8657
    zr8657
    Jul 19, 2019
    62
    来猜猜“ chaxunwin ”是什么意思,我本来还在想查询冠军是什么鬼,问了下是查询窗口。
    sumika
    sumika
    Jul 19, 2019
    63
    拼音都好多了, 好歹能看懂, 我之前有个号称 10 年经验的同事总是以自定义缩写作为变量名
    babedoll
    babedoll
    Jul 19, 2019
    64
    见过拼音英文混搭而且英文单词拼错的吗 =。=
    wr410
    wr410
    Jul 19, 2019
    65
    你们 if(Boolean)的变量名是 flag 是认真的吗?

    我一般都用 isXXX 或者 hasXXX,这样一目了然。
    wjbeta
    wjbeta
    Jul 19, 2019
    66
    如果是拼写正确的拼音那也还好,能看明白就行。最怕是莫名其妙的缩写和逐字翻译的英文。
    Fiona7heHuman
    Fiona7heHuman
    Jul 19, 2019
    67
    @dovme 我看了半天才知道他要干啥
    sandglass
    sandglass
    Jul 19, 2019
    68
    大佬们注释也用英文吗
    visonme
    visonme
    Jul 19, 2019
    69
    拼音只要规范,别人能理解,不是不能接受,有些变量或者函数名还真的用英文不好命(当然也有可能是个人词汇量有限的问题)。

    至于代码中写中文,这是什么鬼? NET 吗? 也没这玩的哈,如果是注释,那应该能接受哈,尤其非外资 /合资企业,注释都需要英文化太没这么必要了
    moloach
    moloach
    Jul 19, 2019
    70
    以前看到过这种代码

    if(n == 1){
    doSomething(var1, var2, 1)
    }
    else{
    doSomething(var1,var2,n)
    }


    不知道是不是他们公司是按照代码行数计算 KPI 的
    shifutang
    shifutang
    Jul 19, 2019
    71
    哈哈,想起来一个被开掉的前同事, 账号积分 的变量名, 他写的是 integral
    XD2333
    XD2333
    Jul 19, 2019
    72
    拼音的话还算勉强能接受,代码中文是什么意思啊。注释吗?注释中文应该还好吧在国内的话。
    iblessyou
    iblessyou
    Jul 19, 2019
    73
    @zhensjoke 哈哈 我们这也有“同行 xing 分析” 领导给我的命名,我估计就错了,一查果然被翻译成“同行 hang 分析”
    yueqiuge
    yueqiuge
    Jul 19, 2019
    74
    什么叫代码中文?易语言?
    ysoserious
    ysoserious
    Jul 19, 2019
    75
    请教一下 a=表达式?true:false 的写法是有什么问题吗???
    BALDOOR
    BALDOOR
    Jul 19, 2019 via Android
    76
    拼音?懒得 diss 了~
    用 idea typo 一堆波浪线看着很恶心。
    业务里实在难以 /无法翻译的其实也能接受。
    不带口音正确的全拼还好,首字母缩写还没注释就~
    代码支持 utf8 命名的,那位一直支持中文编程老哥是时候出来安利一下~
    幸好,我们所有规范是在项目 readme 明确规定的,code review 第一次不规范就说一下,两次三次那就~
    zjsxwc
    zjsxwc
    Jul 19, 2019❤️1
    77
    命名也用中文呗,现在语言都支持中文命名
    HGladIator
    HGladIator
    Jul 19, 2019
    78
    @ysoserious #75 繁琐 等同于 a=表达式
    HGladIator
    HGladIator
    Jul 19, 2019
    79
    让你同事看看耗子叔的 《如何写出无法维护的代码》
    https://coolshell.cn/articles/4758.html
    ysoserious
    ysoserious
    Jul 19, 2019
    80
    @HGladIator #78 哦,我只关注到?:的用法没关注到结果是 true 和 false ;我还以为是 ? : 的用法有什么问题,所以不被建议在生产环境上使用。现在明白了,谢谢。
    ThiagoJC
    ThiagoJC
    Jul 19, 2019 via iPhone
    81
    拼音还好至少能看懂,我上家公司全用拼音首字母缩写,
    Sapp
    Sapp
    Jul 19, 2019
    82
    @hyy1995 有些词用拼音外加中文注释是正常情况,英文很难翻译,强行翻译出来别人也看不懂,就用个拼音然后特殊标记一下
    shm7
    shm7
    Jul 19, 2019 via iPhone
    83
    希哈值!
    lsj8924
    lsj8924
    Jul 19, 2019❤️1
    84
    vs2010 以上都是支持中文命名的,我觉得只要你们内部沟通好,统一用中文,完全没毛病。
    liangzai
    liangzai
    Jul 19, 2019
    85
    有句话怎么说来着,不管白猫黑猫,抓住老鼠就是好猫
    abdiweli
    abdiweli
    Jul 19, 2019
    86
    你去做个公安系统的项目就知道了,数据库设计清一色的拼音缩写,代码里也很常见!关键是有些东西你用英文没办法很好的表达出来。除非你们公司有严格直行的代码规范,代码审查之类的东西,那你也管不了人家怎么写啊。
    ZehaiZhang
    ZehaiZhang
    Jul 19, 2019
    87
    我可以接受你查谷歌翻译,翻出来乱七八糟的结果,但我忍不了拼音,要么我疯,要么他疯
    mamahaha
    mamahaha
    Jul 19, 2019
    88
    都是国企老党员带出来的徒弟,时刻在防备欧美思想森透。
    abdiweli
    abdiweli
    Jul 19, 2019
    89
    @Vegetable 不止车管所!几乎公安类的项目都是这样的!但这个不是问题,国家下发的很多信息化系统规范里都是这么写的。
    xomix
    xomix
    Jul 19, 2019
    90
    @abdiweli #89 这些标准编码变量名都是国家级出的白皮书,你遵循这个没啥不应该的。
    rudyyuan
    rudyyuan
    Jul 19, 2019 via Android
    91
    @v2hh 这才是最标准的写法吧,不怕因为误删一个!造成逻辑错误等血案
    leafre
    leafre
    Jul 19, 2019
    92
    确实不能忍,只能做好自己的,管不了他
    wozhizui
    wozhizui
    Jul 19, 2019
    93
    @shifutang 写成积分,可能就是随手百度的呗,账户积分用 points,ok ?
    saintatgod
    saintatgod
    Jul 19, 2019
    94
    @cabing 我有时候用 tel 或者 mobile 代表手机,phone 代表座机一般
    yukiww233
    yukiww233
    Jul 19, 2019
    95
    原来是 hardcoding 啊。。如果一开始就明确不做 i18n 的话也没什么大问题
    我还以为是中文变量名
    123s
    123s
    Jul 19, 2019
    96
    有这心思笑人,还不如教别人怎么写
    way2create
    way2create
    Jul 19, 2019
    97
    我就好奇了,这楼中说===false 或者===true 是垃圾代码的是有什么问题?
    564425833
    564425833
    Jul 19, 2019❤️1
    98
    "各粒级质量损失百分率"
    "标准稠度用水量"
    "抗压抗折试验机"
    "箱式电阻炉"


    大佬们,谁能告诉我,这些应该怎么命名 。。。
    print1024
    print1024
    Jul 19, 2019
    99
    https://github.com/AhianZhang/gitlab-code-specification-check 强制实施阿里云代码规范的脚本
    Doraemontree
    Doraemontree
    Jul 19, 2019
    100
    我觉得挺好用的, 公司一个安卓喜欢用拼音的简称,比如桥梁吨位 == QLDWBtn,比敲英文简单。。。嘻嘻
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4087 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 283ms · UTC 09:05 · PVG 17:05 · LAX 01:05 · JFK 04:05
    ♥ Do have faith in what you're doing.