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

对接群里看到别的公司发的代码截图,有点绷不住

  •  1
     
  •   mainjzb · 102 天前 · 19600 次点击
    这是一个创建于 102 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://imgur.com/uvJIYE2

    结构体名用中文

    变量名用拼音和英文混合

    哪怕都用拼英也统一风格呀,要么都缩写要么都全写。。

    注释抄的文档的,不是他自己写的。。

    最后配上 360

    第 1 条附言  ·  102 天前
    特地找了一下文档内容:


    有个沙雕说多人修改。显然这是单人对着文档的结果。
    有个沙雕说细化了 int8 int16 已经很照顾你了。因为文档写明数据类型了,而且需要二进制解析。

    赞同的那些人,祝你们同事们全都写 FDJZSpeed 风格代码。

    我没有说中文或者拼英不好。我强调了,需要统一风格,我们组里的一些代码都是拼英缩写早已习惯。

    我看到这图的第一反应就是,还好这人不是我同事,仅此而已。
    174 条回复    2024-08-01 18:00:44 +08:00
    1  2  
    mshadow
        101
    mshadow  
       101 天前 via Android   ❤️ 1
    @netabare 不会,这个是 golang 统一格式,官方工具 gofmt 自动就帮你对齐了
    linl1n
        102
    linl1n  
       101 天前
    同借楼问下,像一些专业术语特别长的时候命名到底怎么命,期货 金融里的那些专业术语有的贼长
    ivvei
        103
    ivvei  
       101 天前 via Android
    @ljtfdt 都用上中文了,为什么不全用中文?经度,纬度,直接写汉字不行吗?觉得打字慢,那全用拼音也行啊。JD, WD, GD, FX, SD, KGXH... 一致性一致性,命名要让人能有预期,而不是每个都出乎意料
    l4ever
        104
    l4ever  
       101 天前
    啊, 是防御性编程
    bthulu
        105
    bthulu  
       101 天前
    @9136347 千万别搞小写加下划线, 会产生很多零碎的字符串垃圾碎片.
    lyxxxh2
        106
    lyxxxh2  
       101 天前
    不是我同事就没啥。
    woniu7
        107
    woniu7  
       101 天前
    还好我不是你同事,不然挺对不起你的
    shaozelin030405
        108
    shaozelin030405  
       101 天前
    数字 = 1; number = "数字";
    183387594
        109
    183387594  
       101 天前
    FDJZSpeed 笑死😆
    ljtfdt
        110
    ljtfdt  
       101 天前
    @ivvei 全文中文当然可以啊,全用拼音也行,但是 JD ,WD 等这些常用的变量,使用拼音首字母缩写,在有注释的情况下使用,我觉得也没什么毛病呀,敲代码是一种劳动,要为人服务,而不是强行为了全英文,全拼音而强行去翻译去规定。再说你说的一致性一致性,你是指的一个仓库中的代码的一致性,还是单指你自己编码风格的一致性。如果一个有点年代的仓库,已经有自己的风格和规定,你如何做呢?就算使用全英文,再面对有些长的变量名,也还是使用英文的缩写。

    @ivvei
    xz410236056
        111
    xz410236056  
       101 天前
    @raviscioniemeche linode 节点看不了,换节点
    dyllen
        112
    dyllen  
       101 天前
    @raviscioniemeche 我看也是破损的图
    worldqiuzhi
        113
    worldqiuzhi  
       101 天前 via iPhone
    拼音+英文。不是很多吗 Xx_time 。xx_number
    afstyle
        114
    afstyle  
       101 天前
    拼音。。
    woniu7
        115
    woniu7  
       101 天前
    目前工作嘛,懂的都懂,随时都要被优化,多少带点随意,也不是故意要恶心同事和后人,自然是自己怎么方便怎么来,反正规范每个公司都不一样,有要求的就按要求,没要求的,自然是越规范越好,我觉得把逻辑写清楚一点,就得谢谢我了。咱维护他人屎山,那可是逻辑不通,各显神通,不是我吃苦就要让人吃回去,而是不想花时间拉的香粑粑的。
    me1onsoda
        116
    me1onsoda  
       101 天前
    涨姿势了,struct 名原来可以用中文啊。。。
    Torpedo
        117
    Torpedo  
       101 天前
    @CodeCodeStudy #19 是的。写代码这么多年,只要统一。啥都行。就怕乱七八糟的,想一出是一出
    yzw716305797
        118
    yzw716305797  
       101 天前
    其实挺好的,最起码一眼能看懂,注释也还好
    wjz416
        119
    wjz416  
       101 天前
    @bthulu #105 会产生很多零碎的字符串垃圾碎片 —— 这个能展开讲讲吗,请教一下
    baobao1270
        120
    baobao1270  
       101 天前
    这种场景不正是最适合用中文编程吗 变量名都用中文是最佳解决方案
    次一点每个字段翻译成英文,和金融会计行业比起来也好翻很多:
    time
    longitude
    latitude
    heading
    speed
    switch_signal
    speed_reference
    data_status
    fuel_flow_rate
    engine_rotational_frequency
    throttle

    说实话这些字段航空业都有标准,甚至说这个 GB 就是航空业的 ICAO 标准拿来改改的,直接沿用术语就行。
    Fallever
        121
    Fallever  
       101 天前
    中文命名+GBK 编码 打开直接编译错误
    mitx
        122
    mitx  
       101 天前
    是的,用汉字用英文用拼音都可以接受,但你都得统一,就是混着用我看到就会很想问为什么上面是这样写下面又是另外一种格式写?
    比如之前看到一个比赛的命名

    teamLeft
    teamRight

    leftPoint
    rightPoint
    cqjdcheng
        123
    cqjdcheng  
       101 天前
    @jrqlxue 用中文命名挺好的 更直观
    ivvei
        124
    ivvei  
       101 天前 via Android
    @ljtfdt 那你咋不写个 a b c 呢,配上注释也能使用对吧。垃圾命名就垃圾命名,这都没毛病那什么有毛病?就一个结构体里的都一致不了,还谈一仓库代码?那你真是想的有点多。人家说一屋不扫何以扫天下,你是反正一天下扫不了我干嘛要扫屋子里
    EndlessMemory
        125
    EndlessMemory  
       101 天前
    图裂了
    artiga033
        126
    artiga033  
       101 天前 via Android
    专有名词翻译成英语还不如直接用汉字,现代编程语言支持 Unicode 标识符就是为了这个,但是拼音缩写纯恶心人
    fancy2020
        127
    fancy2020  
       101 天前
    这是汽车上的系统?
    这种代码质量,没人担心安全性问题吗..
    zkqiang
        128
    zkqiang  
       101 天前
    FDJZSpeed 可太搞了,如果是 FDJSpeed 或者 FDJZS 都还能解释得通,而他只把“发动机转速” 中的 “速” 翻译成英文,保留了“发动机转”的拼音首字母,这简直是起名鬼才
    zkqiang
        129
    zkqiang  
       101 天前   ❤️ 1
    这好像是汽车行驶日志,能说一下是哪个品牌吗,在车机里跑这种质量的代码,以后我开车躲着他点
    jadeborner
        130
    jadeborner  
       101 天前
    没毛病,这种术语太专业的就得拼音注释,整个纯英文的到时候还想不起来啥意思
    cnsdytedison
        131
    cnsdytedison  
       101 天前 via Android
    @zkqiang 有没有可能那个变量已经被占用了Σ( ° △ °|||)︴
    karmaisbitch
        132
    karmaisbitch  
       101 天前
    像我们这种行业软件用英文命名简直就是灾难,很多词汇都是中文特有的
    ipoh
        133
    ipoh  
       101 天前
    代码质量和工资挂钩,下次再吐槽之前把对方的工资一并发出来。
    enihcam
        134
    enihcam  
       101 天前
    同意那些说“能看懂就行”的评论,那么……这个写代码的人月薪 3000 ,不能再多了。
    securityCoding
        135
    securityCoding  
       101 天前
    gpt 对命名加注释手到擒来,我有时候简单的 parser 都让它做了
    wtgam
        136
    wtgam  
       101 天前
    这个不会是国产新能源的车机系统吧,这种质量能确保安全吗
    wulinn
        137
    wulinn  
       101 天前
    有注释,已经超越了 99.99%的项目代码了。
    boqiqita
        138
    boqiqita  
       101 天前
    中文不可怕,可怕的是代码用 GBK ,注释用 GB2312/GB18030 ,主打一个怎么调都有乱码
    nzynzynzy
        139
    nzynzynzy  
       101 天前
    @shadowyue #9 如果我理解分成是佣金分成,可以理解为 commission ,缩写 comm 。如果是比如分配到某个金额我会理解为 allocation ,缩写 allo 。如果所有场景内都是基于分成的功能,我会忽略掉这个表达。

    其他部分可以作 targetBaseline_30d ,amtTrend_3m
    nzynzynzy
        140
    nzynzynzy  
       101 天前
    @CodeCodeStudy #19 EngineRpm ,有专门的单位的就叫 RPM (玩极品飞车时候学的
    nexo
        141
    nexo  
       101 天前
    这程度值得发个贴狂喷还是年轻了 没有起名 aaa bbb 注释给你写这么细 已经超过大多屎山代码
    laobobo
        142
    laobobo  
       101 天前
    不喜欢中文命名,拼音都可以 !这尼玛还夹杂在一起
    nexo
        143
    nexo  
       101 天前
    笑死 组里拼音缩写? 这不是五十步笑 49 步嘛😂
    assclb
        144
    assclb  
       101 天前   ❤️ 1
    世界就是个巨大的草台班子

    以下数据来源:拼多多
    ```json
    {
    "readyDate": "2024-07-17",
    "cstmrServScore": 2.9271217077970073,
    "cstmrServRank": 0.4145756584405985,
    "cstmrServScorePpr1w": 0.0064,
    "cstmrServScoreWarningStatus": 0,
    "cstmrServScoreWarning": "",
    "spLmScore": 2.152919260702677,
    "spLmScorePpr1w": 0.0137,
    "spLmScoreWarning": null,
    "fhLmScore": 4.409962324978008,
    "fhLmScorePpr1w": 0.0019,
    "wlLmScore": 2.8028336080395726,
    "wlLmScorePpr1w": -0.0283,
    "jcfwLmScore": 2.5033595867181893,
    "jcfwLmScorePpr1w": 0.0177,
    "jcfwLmScoreWarning": null,
    "ptHelpRate1m": 0.027014085631060215,
    "ptHelpRate1mPpr1w": 0.0548,
    }
    ```
    cowcomic
        145
    cowcomic  
       101 天前
    我以前是做通用平台的,一直都是坚定的英文命名派
    直到开始接触业务系统
    随便一个领域对象下就有几十个业务概念,这些业务概念中有大量相似概念,咱又不是英语母语,这要真是全都用英文,那也是折磨死人
    反而是拼音缩写很友好,我现在看这些缩写,八九不离十都能猜出含义,都不用看注释
    而且这些领域很多中文命名都是由国标或者地标的,大家拼音缩写一致性很高,反而更容易理解

    所以这事儿我觉得还是看母语习惯,相同的业务系统拿到国外去,人家肯定就是以英语为主
    SHKON
        146
    SHKON  
       101 天前
    这算好的了,不好的都能人工写成混淆的效果
    shenjinpeng
        147
    shenjinpeng  
       101 天前
    下次我也这样写
    wanniwa
        148
    wanniwa  
       101 天前   ❤️ 1
    用拼音没有问题,字段名本来就是为了显而易见,像我们公司报税财务相关的,一堆专业名词,谁查一堆专业名词在那写,那变量名得老长老长了,每个税表的格子都有一大堆前缀,谁有空在那想我写成英文多牛。在某些专业应用领域,该用拼音就拼音,拼音缩写也没问题,不用缩写说不定一个字段名能到 40 的长度,没有啥谁高谁低,又不是给国外人写的代码。当然如果是用户,名称,姓名这种不怎么细分领域的该英文名就英文名。
    lingo
        149
    lingo  
       101 天前
    注释已经写的都想夸一下了
    wanniwa
        150
    wanniwa  
       101 天前
    @enihcam #134 你去写写银行,财会,化学实验报表相关的项目,我就不信你能全不用拼音。
    yb2313
        151
    yb2313  
       101 天前
    下次用方言拼音
    wanniwa
        152
    wanniwa  
       101 天前
    @gesse #73 讲的真不错,那些嘲笑的一看就是没做过专业领域项目的,以为自己多牛逼。我一开始也是坚定的英文命名拥护者,业务做多了就知道遇到一些业务场景用拼音更好,至于哪些还有要有些经验的,要不一不小心说服不了别人还要被鄙视。一个个互联网行业的自诩厉害,天天就客户名,年龄,订单名这些简简单单的名词,在嘲笑人家做专业领域业务的。就那么些简单的单词谁不会,谁不会百度,谁不会 Chatgpt
    CHTuring
        153
    CHTuring  
       101 天前
    变量名要就全部拼音、要就英文,甚至你统一用 Emoji 都可以。如果写成这样都能洗的话,那是真的牛逼 🐮,不要怪刻板印象了。
    lulaolu
        154
    lulaolu  
       101 天前
    最难熬的周三被一个 FDJZSpeed 逗乐了,感谢楼主 😆
    Aixtuz
        155
    Aixtuz  
       101 天前
    有不同观点的,就说别人是沙雕?
    人的语言风格,可比代码风格难改多了。

    我宁愿选这种代码风格的当同事,也不选这种说话难听点当同事。
    huangmingyou
        156
    huangmingyou  
       101 天前
    电车自动驾驶的代码吗?
    polo3584
        157
    polo3584  
       101 天前
    说实话,拼音其实可以,特别是一些不好翻译的还有优势。最难受的是拼音缩写和英文缩写,歧义的概率特别高
    lozzow
        158
    lozzow  
       101 天前   ❤️ 1
    我就这么干的啊,变量命名太难受了,都是业务上的词,英文叫啥根本不知道
    parthenon2007
        159
    parthenon2007  
       101 天前
    羡慕还愿意喷这些代码的大佬们,至少你们公司的代码大概率还是能看的,我司的代码还赶不上图片里的代码。
    huajia2005
        160
    huajia2005  
       101 天前
    变量名对接很多系统不就不会有要求了,反而是对注释要求高点,最起码他注释很明确,知道是什么意思
    zbatman
        161
    zbatman  
       101 天前
    @9136347 网卡、网线、路由器、交换机:我也觉得
    LitterGopher
        162
    LitterGopher  
       101 天前
    刚才出于好奇试了一下如果:

    - 使用纯中文给结构体字段命名会无法序列化( go 标准库)
    - 但是以英文开头参杂中文可以正常序列化
    - 以纯中文给结构体命名可以正常序列化
    - 无法以 Emoji 做字段名
    - 无法使用 NerdFont 当中那些 icon 做字段名
    Nile20
        163
    Nile20  
       101 天前
    要么全英文,要么全拼音,我并不反对代码中用拼音,特别是有的业务场景(尤其常见于政府项目)下根本没有准确的英文,强行翻译反而更差。
    但是起码不要一个字段里英文拼音混杂,时而缩写时而全拼,还有一堆错误单词,难道不能全用拼音吗?
    前面有很多朋友表示这没啥,何必抠这种细节云云。我只能说程序员确实已经是一个下沉市场了,你们这样的我在工作中也见过。
    yb2313
        164
    yb2313  
       101 天前
    @bthulu py 怎么你了
    wmfei
        165
    wmfei  
       101 天前
    感觉还好 有些数据模型字段特别多 又特别长 翻译成英文 太难记
    xiaocaiji111
        166
    xiaocaiji111  
       100 天前
    @9136347 我们都是下划线_
    ljtfdt
        167
    ljtfdt  
       100 天前
    @ivvei 纯杠就没意思了
    MapleObserver
        168
    MapleObserver  
       100 天前
    其它的还好,发动机转速写成 FDJZSpeed 这个没绷住笑了哈哈哈哈。
    duzhuo
        169
    duzhuo  
       100 天前
    JiaSuTaBanAddr 哈哈哈哈
    enihcam
        170
    enihcam  
       100 天前
    @wanniwa 对啊,所以 3000 不能再多了。
    Misakas
        171
    Misakas  
       100 天前
    哪个车企啊,我避个雷
    lizy0329
        172
    lizy0329  
       100 天前
    挺好的,没啥问题,十分整齐,注释详尽,偷着乐吧
    wanniwa
        173
    wanniwa  
       100 天前
    @enihcam #170 这哪个年代的标准还是哪个山村的程序员,还 3000 ,哈哈哈,几十年前的物价吗。
    davin
        174
    davin  
       100 天前
    当年对接企业微信审批流程,很多字段好像就是中文的,你敢信么?
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1433 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 17:28 · PVG 01:28 · LAX 09:28 · JFK 12:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.