V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xuqiccr
V2EX  ›  程序员

[水贴]被同事的变量名惊呆了

  •  
  •   xuqiccr · 2021-06-01 09:52:04 +08:00 · 18647 次点击
    这是一个创建于 1300 天前的主题,其中的信息可能已经有所发展或是发生改变。
    python,变量含义是非测试人员,我同事:no_ceshiuser, 惊为天人。。。
    第 1 条附言  ·  2021-06-01 10:24:57 +08:00
    因为这个是我独立完成的项目,所以代码我都比较了解,只是后面让他加了一个非常简单的同步企业微信人员的接口,不涉及任何其他逻辑,没有什么需要区分的逻辑和隐情,测试人员:ceshiuser,非测试人员:no_ceshiuser 。
    第 2 条附言  ·  2021-06-01 12:00:19 +08:00

    只是水帖图一乐,要是这都觉得看出优越感了,那你需要反思一下了

    第 3 条附言  ·  2021-06-01 15:00:23 +08:00
    看了大家举遇到的例子,我觉得我应该珍惜我的同事了哈哈哈哈哈,只是水贴图一乐,不要较真,划水快乐,六一快乐。
    161 条回复    2021-06-02 12:02:25 +08:00
    1  2  
    Leonard
        1
    Leonard  
       2021-06-01 09:54:11 +08:00   ❤️ 2
    正常水平
    yukiww233
        2
    yukiww233  
       2021-06-01 09:54:31 +08:00   ❤️ 29
    粗看还以为是不认识的高级词汇...还复制到外面去查了一下...
    xuqiccr
        3
    xuqiccr  
    OP
       2021-06-01 09:54:50 +08:00
    @yukiww233 #2 我也是。。
    root01
        4
    root01  
       2021-06-01 09:55:38 +08:00
    no_测试用户, 哈哈
    Telegram
        5
    Telegram  
       2021-06-01 09:55:45 +08:00   ❤️ 2
    取名字嘛,能看懂就行,哈哈哈
    gitdoit
        6
    gitdoit  
       2021-06-01 09:56:23 +08:00
    还行,你是没见过几十个中文缩写不带注释的
    leavic
        7
    leavic  
       2021-06-01 09:56:35 +08:00
    越奇特越不容易跟别人冲突
    abersheeran
        8
    abersheeran  
       2021-06-01 09:57:47 +08:00
    Python 变量名可以用中文啊,`非测试人员`不就成了
    f056917
        9
    f056917  
       2021-06-01 09:58:14 +08:00
    我遇见过中文首字母拼的变量名,全靠猜
    Chihaya0824
        10
    Chihaya0824  
       2021-06-01 10:02:34 +08:00 via iPhone
    我一瞬间以为是什么德语 23333
    linbiaye
        11
    linbiaye  
       2021-06-01 10:04:15 +08:00
    能让人一目了然的就是好名字。
    sillydaddy
        12
    sillydaddy  
       2021-06-01 10:06:15 +08:00   ❤️ 2
    改成 no_ceshuser,是不是更符合英语词汇的构造?
    no_ceshiuser 就不太像英语单词了,然后就被你发现了。。
    lmmortal
        13
    lmmortal  
       2021-06-01 10:06:23 +08:00
    个人认为这变量名很好呀,至少实现了中美合璧不是吗
    flytsuki
        14
    flytsuki  
       2021-06-01 10:07:23 +08:00
    这个变量命名已经非常好了,没给你写成:fcery
    faceRollingKB
        15
    faceRollingKB  
       2021-06-01 10:08:27 +08:00
    可能你同事一时间没想起来 test 这个单词,建议你选择原谅:D
    guisheng
        16
    guisheng  
       2021-06-01 10:10:37 +08:00
    太太喜欢 使用 test 或者 example 做为变量名称,类名称。很有歧义呀。
    ungrown
        17
    ungrown  
       2021-06-01 10:13:34 +08:00
    @abersheeran #8
    前面加个容易记的字母词头,方便敲出来
    我建议用小学英语+拼音(缩写)+中文,比如 not_ceshi_非测试人员
    joesonw
        18
    joesonw  
       2021-06-01 10:13:44 +08:00
    @guisheng 还可以 qa 呀. quality assurance.
    sandman511
        19
    sandman511  
       2021-06-01 10:14:52 +08:00
    @guisheng 确实 楼主同事应该是出于 test 容易引起歧义所以这样命名的
    就跟之前我同事命名的一个 xx 测试业务叫做 testxx.java 而不是 xxtest.java 一个道理
    楼主以为自己在第二层 其实你同事在第五层噢
    zhengfan2016
        20
    zhengfan2016  
       2021-06-01 10:15:03 +08:00   ❤️ 1
    那你是没见过取拼音首字母来取变量的,比如广东省教育考试院
    [![2nEtPg.png]( https://z3.ax1x.com/2021/06/01/2nEtPg.png)]( https://imgtu.com/i/2nEtPg)
    xuqiccr
        21
    xuqiccr  
    OP
       2021-06-01 10:17:41 +08:00
    @sandman511 #19 或许有个词是 tester ?
    xuqiccr
        22
    xuqiccr  
    OP
       2021-06-01 10:18:16 +08:00
    @zhengfan2016 #20 哈哈哈哈哈有效防止信息泄漏
    biangou
        23
    biangou  
       2021-06-01 10:18:24 +08:00
    能让人一目了然的就是好名字。
    sandman511
        24
    sandman511  
       2021-06-01 10:18:37 +08:00
    虽然这个命名确实有更好的选择
    但是遇到一些自认为很离谱的事情的时候 可以先反问下自己 是不是其中有没考虑到的“隐情”
    xuqiccr
        25
    xuqiccr  
    OP
       2021-06-01 10:20:22 +08:00
    @sandman511 #24 看过了,这个接口只是用来同步人员,与之相关的只有测试人员和非测试人员两种情况,他的变量:ceshiuser 和 no_ceshiuser 。其他没有任何调用的地方
    wr516516
        26
    wr516516  
       2021-06-01 10:20:37 +08:00
    至少能看懂
    xuqiccr
        27
    xuqiccr  
    OP
       2021-06-01 10:20:37 +08:00   ❤️ 1
    @biangou #23 您说的太对啦
    noroot
        28
    noroot  
       2021-06-01 10:33:13 +08:00
    一下没反应过来,还以为 ceshiuser 是什么单词。
    然后发现是 ce shi user 。。。半拼音半英文,跟我同事有得一拼。猜猜我同事的命名:zhileng_temp 。
    YvesX
        29
    YvesX  
       2021-06-01 10:35:30 +08:00
    @zhengfan2016 #20 字段多了以后使用拼音缩写是比较方便的,编码人员认知负担轻,易于联想。
    YvesX
        30
    YvesX  
       2021-06-01 10:35:51 +08:00
    英语写错了或者瞎缩写才是最不能忍的。
    joApioVVx4M4X6Rf
        31
    joApioVVx4M4X6Rf  
       2021-06-01 10:36:11 +08:00   ❤️ 1
    @noroot 支棱_临时。贵司莫非是卖伟哥的
    woomly
        32
    woomly  
       2021-06-01 10:37:56 +08:00
    取名字嘛,重要的是开心 😺
    Vegetable
        33
    Vegetable  
       2021-06-01 10:39:58 +08:00   ❤️ 1
    懂了吗?懂了就比 fcsrf 强
    Vegetable
        34
    Vegetable  
       2021-06-01 10:40:15 +08:00
    *fcsry
    x86
        35
    x86  
       2021-06-01 10:41:35 +08:00 via iPhone
    一眼就看明白的就是好
    HankAviator
        36
    HankAviator  
       2021-06-01 10:42:04 +08:00
    @zhengfan2016 数据库里命名用中文缩写通常是可以的,字典里解释好就好。
    jorneyr
        37
    jorneyr  
       2021-06-01 10:42:58 +08:00
    我竟然看一遍就明白了,说明这个名字取的不错,见文知意
    foMM
        38
    foMM  
       2021-06-01 10:43:33 +08:00
    @zhengfan2016 #20 这完全是密码……
    xiaomingVTEX
        39
    xiaomingVTEX  
       2021-06-01 10:44:14 +08:00
    no ce shui user 哈哈
    eason1874
        40
    eason1874  
       2021-06-01 10:45:09 +08:00   ❤️ 4
    以后 00 后上岗写的可能是:

    csry 和 csry(bushi)
    sybb
        41
    sybb  
       2021-06-01 10:46:32 +08:00 via iPhone
    竟然这么多人觉得没问题啊,那为什么从学习编程开始就一直被灌输的思想就是不要用拼音命名这样不规范?还是说真的有大量的 coder 都不在乎代码规范?
    zhuang0718
        42
    zhuang0718  
       2021-06-01 10:48:17 +08:00
    挺好的 言简意赅😜
    xsm1890
        43
    xsm1890  
       2021-06-01 10:49:34 +08:00   ❤️ 15
    我觉得我可以祭出我司的大招。微信刷脸=====weixin_brushface
    yunye
        44
    yunye  
       2021-06-01 10:53:19 +08:00
    言简意赅,通俗易懂,又不失风趣幽默。你同事有个好文采!
    jay4497
        45
    jay4497  
       2021-06-01 10:56:18 +08:00
    @xsm1890 够硬核,哈哈哈
    est
        46
    est  
       2021-06-01 10:56:32 +08:00
    你看得懂的变量名字就是好的变量名字。
    xunandotme
        47
    xunandotme  
       2021-06-01 11:00:02 +08:00   ❤️ 2
    ggjydyb 公共交易定义表
    liudaolunhuibl
        48
    liudaolunhuibl  
       2021-06-01 11:04:02 +08:00   ❤️ 2
    sssscService=上诉审审查业务类
    dallaslu
        49
    dallaslu  
       2021-06-01 11:10:02 +08:00   ❤️ 2
    很常见啊,比如 cacheuser -> 擦车用户
    yitingbai
        50
    yitingbai  
       2021-06-01 11:10:28 +08:00
    这个没毛病吧
    lasuar
        51
    lasuar  
       2021-06-01 11:14:51 +08:00
    大惊小怪
    OHyn
        52
    OHyn  
       2021-06-01 11:16:06 +08:00
    一眼能看懂的算好名字,这个符合标准。虽然我也感觉中西合璧不太合适哈哈哈哈哈哈哈。
    WhiteDragon96
        53
    WhiteDragon96  
       2021-06-01 11:17:10 +08:00
    @zhengfan2016 那你是没见过去拼音首字母还大写来取变量名的,正在对接
    ![]( https://raw.githubusercontent.com/WhiteDragon96/ImgCloud/main/data/img20210601111619.png)
    ParfoisMeng
        54
    ParfoisMeng  
       2021-06-01 11:24:25 +08:00
    两开花
    Shyla
        55
    Shyla  
       2021-06-01 11:25:15 +08:00
    @zhengfan2016 这缩写没一个看懂的……
    hatw
        56
    hatw  
       2021-06-01 11:26:00 +08:00
    我觉得还可以啊,至少能看懂。。。。
    cmdOptionKana
        57
    cmdOptionKana  
       2021-06-01 11:27:37 +08:00   ❤️ 1
    还是建议大家不要过度鄙视中文变量名,主要原因是,现实中所谓的英文变量名真的太多问题。
    vickchen1992
        58
    vickchen1992  
       2021-06-01 11:35:33 +08:00
    你们猜下这个是什么接口
    kiracyan
        59
    kiracyan  
       2021-06-01 11:39:57 +08:00
    我觉得还行
    Zhouisme
        60
    Zhouisme  
       2021-06-01 11:42:04 +08:00
    no_ceshiuser,一眼没看出来,当看到 user 就反应过来了。问题不打,写完代码后大不了打开谷歌翻译,然后在粘贴进来就好了。变量这种问题不大的,还有注释呢。直接注释中文写,然后再软件翻译一遍英文。
    RRRoger
        61
    RRRoger  
       2021-06-01 11:44:54 +08:00
    那你是没见过 SAP ABAP 里面的变量名
    LDa
        62
    LDa  
       2021-06-01 11:44:56 +08:00
    还不如叫 ceshirenyuan_bushi 呢
    banishee
        63
    banishee  
       2021-06-01 11:47:37 +08:00
    @vickchen1992 jd 的?
    neowong2005
        64
    neowong2005  
       2021-06-01 11:48:52 +08:00 via Android
    我闻到浓浓的优越感
    X0ray
        65
    X0ray  
       2021-06-01 11:49:30 +08:00   ❤️ 2
    @vickchen1992 我觉得你这个还好,要是在中文首字母命名的前提下,图上面这样是挺规范的。如果开发人员或者维护人员的英文水平不够,强上英文会更奇葩。
    didididididi
        66
    didididididi  
       2021-06-01 11:49:48 +08:00
    我还用 google 翻译了一下,检测结果为日文 -> 鼻子
    scegg
        67
    scegg  
       2021-06-01 11:52:15 +08:00
    @vickchen1992 不知道,接触过中软的系统数据库都这个样。
    xuqiccr
        68
    xuqiccr  
    OP
       2021-06-01 11:55:56 +08:00 via iPhone
    @lasuar 您说的真对
    xuqiccr
        69
    xuqiccr  
    OP
       2021-06-01 11:57:10 +08:00 via iPhone
    @Zhouisme 都写成这样了可能会写注释吗…
    xuqiccr
        70
    xuqiccr  
    OP
       2021-06-01 11:57:25 +08:00 via iPhone
    @neowong2005 您说的真对
    Zzzz07
        71
    Zzzz07  
       2021-06-01 11:57:34 +08:00 via Android
    toesbieya
        72
    toesbieya  
       2021-06-01 11:57:39 +08:00
    @vickchen1992 航天的电子发票对接?
    casparchen
        73
    casparchen  
       2021-06-01 12:02:54 +08:00 via iPhone
    fan_hui_de_data = ...
    返回的数据
    yuruizhe
        74
    yuruizhe  
       2021-06-01 12:03:57 +08:00
    我还见过 xxx_sangeyue 这种命名呢
    locoz
        75
    locoz  
       2021-06-01 12:04:34 +08:00
    还好吧,至少你还能看得出是个啥,我昨天看了份远古代码,里面有个 django 项目叫 help,里面的包名叫 help_me,不看内容都不知道是个啥...还有几个函数叫 jojo 、bad 、chaijie 、faqi,前两个完全不知道是干什么的...
    xuqiccr
        76
    xuqiccr  
    OP
       2021-06-01 12:06:02 +08:00 via iPhone   ❤️ 1
    @locoz 一份求救项目!
    hhjswf
        77
    hhjswf  
       2021-06-01 12:06:45 +08:00
    见过 pice 吗是价格
    xuqiccr
        78
    xuqiccr  
    OP
       2021-06-01 12:08:00 +08:00 via iPhone
    @hhjswf 哈哈哈哈我这个没说,get_uer,获取用户
    cmdOptionKana
        79
    cmdOptionKana  
       2021-06-01 12:42:25 +08:00   ❤️ 5
    为什么优越感好像变成贬义词了?

    要么拼音,要么英语,这种拼音英语混合,而且还是非常生硬地混合,很明显是不好的,不提倡的,不是大家应该追求的。

    对于明显不好的东西,如果自认比他好,大大方方有一点优越感又有何妨。
    yuann72
        80
    yuann72  
       2021-06-01 12:54:41 +08:00
    @noroot #28 制冷温度?
    bwangel
        81
    bwangel  
       2021-06-01 12:58:59 +08:00
    python 是支持中文编程的。

    所以可以写成

    ```
    非测试用户 = False
    if 非测试用户:
    balabalabala
    ```

    当然这不符合 pep8 的规范,https://www.python.org/dev/peps/pep-0008/#source-file-encoding

    但 pep8 还要求所有注释都应该用英文来写(In addition, string literals and comments must also be in ASCII.),但有多少公司能够做到呢?所以,不用挣扎了,与其用这种中英结合的命名,还不如直接用中文命名
    SingeeKing
        82
    SingeeKing  
       2021-06-01 12:59:51 +08:00
    @vickchen1992 #58 GHF_EMAIL 不符合规范,应该用 GHF_YX 或者 GHF_DZYX
    bwangel
        83
    bwangel  
       2021-06-01 13:02:47 +08:00
    @bwangel #81

    https://www.python.org/dev/peps/pep-0008/#comments

    Python coders from non-English speaking countries: please write your comments in English, unless you are 120% sure that the code will never be read by people who don't speak your language.

    我说的不太严谨,如果你的注释不会被不说中文的人阅读,那么 PEP8 中也是允许写中文注释的
    Jooooooooo
        84
    Jooooooooo  
       2021-06-01 13:04:15 +08:00
    能看懂就好
    Routeros
        85
    Routeros  
       2021-06-01 13:15:09 +08:00
    请问正确答案是什么?
    qiaobeier
        86
    qiaobeier  
       2021-06-01 13:17:24 +08:00
    至少 no 后面加了下横杠🤣
    fredli
        87
    fredli  
       2021-06-01 13:17:53 +08:00
    newbee
    qiuhang
        88
    qiuhang  
       2021-06-01 13:18:30 +08:00
    @yukiww233 我还以为是我英文水平太差,不认识这个单词,还复制到谷歌翻译里面看了看...... /捂脸
    zhongpingjing
        89
    zhongpingjing  
       2021-06-01 13:19:14 +08:00
    @zhengfan2016 笑死,这个项目当时差点接手了,看文档差点看吐了
    msaionyc
        90
    msaionyc  
       2021-06-01 13:28:31 +08:00
    昨天看到一个 suckTopBig.jsp
    onionKnight888
        91
    onionKnight888  
       2021-06-01 13:33:47 +08:00
    @vickchen1992 金三里这些太正常了
    xuqiccr
        92
    xuqiccr  
    OP
       2021-06-01 13:38:59 +08:00
    @Routeros #85 您说的太对啦
    RayJiang9
        93
    RayJiang9  
       2021-06-01 13:41:44 +08:00
    我司 身份证开始日期==>id_start_date 身份证结束日期==>yxq 签证机关==>qzjg
    Lin0936
        94
    Lin0936  
       2021-06-01 14:00:16 +08:00
    unceshiableuser
    vickchen1992
        95
    vickchen1992  
       2021-06-01 14:13:59 +08:00
    @toesbieya #72 bingo
    cw2k13as
        96
    cw2k13as  
       2021-06-01 14:16:10 +08:00
    23333,看了半天才看懂
    towave
        97
    towave  
       2021-06-01 14:16:59 +08:00
    要看背景,即使中文拼音开头的也正常
    wangcansun
        98
    wangcansun  
       2021-06-01 14:21:50 +08:00
    让我想起了大学在华为实习写 java,变量命名叫做 int1 int2 int3
    惊呆了,然后我就离职了
    EHemingway
        99
    EHemingway  
       2021-06-01 14:27:08 +08:00
    @root01 看到你这评论才看出来,好家伙直接给我整懵了
    Thinkerous
        100
    Thinkerous  
       2021-06-01 14:29:00 +08:00
    真语义驼峰命名发
    no_ceshiuser
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2822 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 11:57 · PVG 19:57 · LAX 03:57 · JFK 06:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.