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

大家如何看待代码中的拼写错误?

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

    举几个例子我看见过的:

    红帽是 redhad ,乌班图是 ubutu ,
    加密是 encript ,解密是 discrypt ,
    前台是 forground ,后台进程是 damon 。

    最初是项目里编译出 lib/redhad/lib*.so,这个 redhad 让我震惊了一整天。


    刚接触代码时,我是想去改掉的。但是了解到这个目录 N 年前就是这样了,而且也不清楚到底有多少依赖,便作罢。

    后来我也佛系了,毕竟不关我事,能跑就行。

    直到我某天写代码,要用到一个大写的常量 某 DEFALUT ,怎么看怎么怪,定睛一瞧还是拼错的。一搜发现有三十多处。


    如果是你,该怎么办?

    1. 全改掉
    2. 捏着鼻子继续用

    ...我最终还是选择了 2 ,因为前者会让 git blame 全变成了我,而我并不想背这个锅...

    68 条回复    2024-02-20 09:50:45 +08:00
    lithiumii
        1
    lithiumii  
       311 天前 via Android   ❤️ 5
    没什么办法,HTTP 头里面的 referer 都错了这么多年了
    conge
        2
    conge  
       311 天前
    哈哈哈

    我也老出这样的错……

    sorry
    wildnode
        3
    wildnode  
       311 天前
    在对应 IDE 市场里面找找 code spell check 相关的插件,组会的时候委婉推荐团队装一下呗,或者相关人员平时关系好的话直接提醒下让他改了...
    naminokoe
        4
    naminokoe  
       311 天前 via iPhone
    /usr 这个拼写不也是错误的吗?
    antipro
        5
    antipro  
       311 天前 via Android
    @naminokoe user system resource
    zzzsy
        6
    zzzsy  
       311 天前 via Android   ❤️ 8
    @antipro Unix System Resource
    littlecreek
        7
    littlecreek  
       311 天前   ❤️ 3
    如果是我, 这种事多了我会跑路, 因为这一般说明同事的技术水平包括态度都不怎么样
    庆幸的是工作这么多年从来没接触过这么离谱的同事, 倒是在跟第三方对接的时候见识过其他公司的工程师有这样的情况, 并且验证了我上面看似武断不讲理的断言.
    naminokoe
        8
    naminokoe  
       311 天前
    @antipro 好,然后 perl 或者 ruby 里面的 elsif 呢?
    littlecreek
        9
    littlecreek  
       311 天前   ❤️ 6
    @littlecreek 为啥我这么说呢? 因为一个工程师偶尔拼错正常, 谁都有不小心的时候, 但是经常拼错, 就说明了一点问题. 这种代码偶尔 merge 进主干, 可能他/她包括 reviewer 都没注意, 也没啥. 但是经常出现低级拼写错误 merge to master 没人提出异议, 说明整个团队都多少有点问题.
    DTCPSS
        10
    DTCPSS  
       311 天前
    装拼写检查插件,并在 CI 里警告错误拼写
    JavenXiao
        11
    JavenXiao  
       311 天前
    cspell 直接在 mr 的 ci 强卡点
    Fish1024
        12
    Fish1024  
       311 天前
    说明工程师的学历都不高,建议跑路。
    hubqin
        13
    hubqin  
       311 天前
    @Fish1024 实际上并不是,我见过很多本科学历,写代码依然很多拼写错误,不知道是英语能力问题还是写代码的时候没上心。
    pursuer
        14
    pursuer  
       311 天前
    如果是模块内部不是导出的名字拼错,就改了,但如果是导出部分且被其他模块引用了,就只能忍了,可能会再加个别名。
    LavaC
        15
    LavaC  
       311 天前   ❤️ 3
    我寻思这些人的 ide 不可能没波浪线啊,为什么他们就总是无视它
    acerphoenix
        16
    acerphoenix  
       311 天前
    是很坑, 搜索时都搜不到
    wolfie
        17
    wolfie  
       311 天前
    是个 IDE 都有 spell check 啊,有时候忘了某个单词写的对不对 写个大概 靠 提示纠正。
    lsry
        18
    lsry  
       311 天前
    這就算了,項目裏面用拼音,而且拼音還打錯的
    unregister
        19
    unregister  
       311 天前
    我遇到这种错误都会骂以前的人写的代码,同时会给他 rename 一下。
    unregister
        20
    unregister  
       311 天前
    如果这块代码你来改的话就 rename 一下,不然影响你工作
    nzbin
        21
    nzbin  
       311 天前
    这个是代码习惯问题,我一般写变量都会刻意多看几眼,偶尔写错也可以理解,数量不多就改过来,历史代码能不改就不改
    吐槽:同事代码 newOption 能写成 nowOption ,我愣是研究了大半天才明白是啥,可以想象这种代码得多难维护
    yanyao233
        22
    yanyao233  
       311 天前 via Android
    ide 不是会有提示吗,很多缩写识别不了也提示,都给我整麻了
    boris1993Jr
        23
    boris1993Jr  
       311 天前 via iPhone
    @yanyao233 #22 可以添加到个人词典吧?
    chendy
        24
    chendy  
       311 天前   ❤️ 1
    @yanyao233 alt + enter -> save 'typo' to dictionary
    adoal
        25
    adoal  
       311 天前
    以前有个段子,股市行情好的时候坐台小姐到证券公司当交易员,行情不好的时候交易员坐台当小姐。

    红利行业就是这样,对人的需求大于供给,各种阿狗阿猫都会冲进来。

    (程序)又不是不能跑、(人)又不是不能跑。

    你能做的就是尽量往高水平的团队去。
    raptor
        26
    raptor  
       311 天前 via Android
    我碰到 reason 拼成 resaon 的,我让他改了,别的团队的同事,我直接在公司群里说这个单词拼写错了,他下个版本就改了。反正都是公司内部对接的东西,大家一起改一下就是了。
    wangkun025
        27
    wangkun025  
       311 天前
    能改就改。
    不能改就注释。
    不能注释,你妹夫的,跟你拼了。
    churchill
        28
    churchill  
       311 天前
    说实话大部分拼写错误放在上下文中都不影响阅读
    怕乱起名的,怕 define FALSE true 的
    lykhero
        29
    lykhero  
       311 天前   ❤️ 1
    这个就是不认真 不要洗什么学历什么的 不认真就是不认真 完全可以查了之后自己背一下的
    又不是考托福雅思 就这么几个单词
    cctv1005s927
        30
    cctv1005s927  
       311 天前
    安全的地方尽量改掉,并在 review 的时候,引导身边的人尽量注意拼写的问题。
    正确的事情应该坚持,你有大大方方做的理由,不要犹豫。
    lambdaq
        31
    lambdaq  
       311 天前
    前鼻音 后鼻音 平舌翘舌搞混的多得很。
    shuimugan
        32
    shuimugan  
       310 天前
    外部的不管,自己团队的坚持开拼写检查,碰到写错的坚决改,碰到离谱的还要拿出来鞭尸。妈的以前有个功能在开发文档里叫去重,有个同事查了下翻译然后字段写了个 go_heavy ,震惊我一整年,被我长期拿来做反面例子,教育他们一定要看 IDE 的告警,提交前要保证所有告警消失。
    celeron533
        33
    celeron533  
       310 天前
    说明之前的团队不怎么样
    - 英文水平不佳
    - 不认真
    - 没有 code review
    twofox
        34
    twofox  
       310 天前
    对于我这种英语水平一般的人,copilot 和 gpt 真的帮了大忙。。很多变量不知道怎么命名合适,就靠这两个

    对于这种历史的拼写错误,如果是我写的,我就会改。不是我写的,凑合用
    FlytoSirius
        35
    FlytoSirius  
       310 天前
    现在来看, 改动之前库里这些错别单词确实不现实,

    但新的代码, 至少可以通过 "静态代码检查" 类的工具大幅减少这类问题的出现, 降低 human review 的压力, 毕竟人去 review 代码主要还是集中在 代码逻辑 上吧.
    FlytoSirius
        36
    FlytoSirius  
       310 天前
    我个人 不太觉着靠引导别人能让他人解决英文拼写问题, 直接把 "拼写检查" 放在 CI 的 pipeline 里, 每次提交代码都必须 pipeline 运行通过, 你看他们都自己改不改拼写...
    Felldeadbird
        37
    Felldeadbird  
       310 天前
    影响不大,只是作用域内,可以改。
    一旦超出了作用域,你要慎重修改了。
    iqoo
        38
    iqoo  
       310 天前   ❤️ 2
    #define mian main
    #define ture true
    Sprdance
        39
    Sprdance  
       310 天前
    老代码基本没办法再更改了,不过可以拿出来当反面教材学习学习
    新代码合入检视的时候,在 IDEA 里看看哪里有黄色波浪线,大概率就是拼写错了
    julyclyde
        40
    julyclyde  
       310 天前
    你是不是腾讯的?
    netabare
        41
    netabare  
       310 天前 via Android   ❤️ 1
    感觉和使用非英文变量名(例如 xxglxt 之类的)一样是很不标准的做法
    julyclyde
        42
    julyclyde  
       310 天前
    @hubqin 应该是英语能力问题
    毕竟高考只看总分,不看单科
    julyclyde
        43
    julyclyde  
       310 天前
    想当年为了解决同事们经常给拼写接近的别家域名发信,导致退信堵死服务器的破事
    我直接把另外几个错误拼写都 alias 成自家了……
    (美团发给面团的邮件会转回本域)
    StevenRCE0
        44
    StevenRCE0  
       310 天前
    @julyclyde 美团变面团哈哈哈哈哈(我屎一样的笑点
    StevenRCE0
        45
    StevenRCE0  
       310 天前
    我会放弃挣扎,因为不知道别人是不是在同时改动,重构简单但是合并难以预测
    mikewang
        46
    mikewang  
    OP
       310 天前
    @julyclyde 不是腾讯的。腾讯也这样么 hhh
    julyclyde
        47
    julyclyde  
       310 天前
    @mikewang 腾讯在这方面差到出名啊
    ivvei
        48
    ivvei  
       310 天前
    @shuimugan #32 你开了拼写检查也不会警告 go_heavy 吧,拼写没错啊
    Mmahaha
        49
    Mmahaha  
       310 天前
    引用到了就顺便 refactor 一下,没有就算了
    asmoker
        50
    asmoker  
       310 天前 via Android
    b_super

    B 超 😂
    dif
        51
    dif  
       310 天前
    将错就错,屎山代码不要动。
    sugarsalt
        52
    sugarsalt  
       310 天前
    别人的一般不管。。以前有同学 button 和 bottom 写混了,debug 排查了半天😅
    vincentzhu
        53
    vincentzhu  
       310 天前
    你这种情况还是不改了吧,很容易出问题
    corcre
        54
    corcre  
       310 天前 via Android
    之前数据库有个字段名拼错了,做了一翻思想斗争决定不管,不然以前的代码要一起改掉…
    lesismal
        55
    lesismal  
       310 天前   ❤️ 1
    另一个角度:因为有 typo ,所以让更多人相对容易地成为了 contributor ,虽然这种 pr 有水分,但至少培养了兴趣、提高了参与度,对社区未来也是有好处的
    voy
        56
    voy  
       309 天前
    ```
    int &redhad = redhat;
    int &ubuntu = ubuntu;
    ```
    ok
    r6cb
        57
    r6cb  
       309 天前
    #define DEFAULT DEFALUT
    然后自己就能用正确的拼法了
    zogwosh
        58
    zogwosh  
       309 天前   ❤️ 1
    1.对于大头兵,纠结拼写没意义,因为不算产出
    2.对于 leader,纠结拼写没意义,因为结果导向
    3.对于个人开发者,纠结拼写没意思,因为成不成功全看你的点子
    4.对于开源专家,纠结拼写没意义,因为如果你的项目有人蹭 pr 会帮你改的
    总结:代码洁癖爱好者改,其他人不改
    qfchannel
        59
    qfchannel  
       309 天前
    @sugarsalt 是我了
    wangtian2020
        60
    wangtian2020  
       309 天前
    vscode 的 cSpell 插件会波浪线提示我不常见单词拼写的
    polo3584
        61
    polo3584  
       309 天前
    自己写的检查出来就改一改,别人的坚决不改,不知道有多少莫名其妙的依赖。。。
    raymond2020
        62
    raymond2020  
       309 天前
    能跑就行朋友,这都无所谓的
    cBlank
        63
    cBlank  
       309 天前
    代码写的你能看懂就行了,毕竟机器执行的时候已经不是这样子了
    julyclyde
        64
    julyclyde  
       309 天前
    @polo3584 之前我用 pyCharm 的时候看到他们有个 refactor 功能可以关联修改。不过也仅限于 project 管理范围内
    shit 一旦放出去,确实就很难翻身了
    dongzhuo777
        65
    dongzhuo777  
       308 天前
    老外都有写错拼错的。
    z1645444
        66
    z1645444  
       308 天前
    @naminokoe #8 Ruby 那边的 elsif 是 else if ... end 的语法糖
    polo3584
        67
    polo3584  
       307 天前
    @julyclyde 这种类似搜索的功能不靠谱,之前就出现过问题,比如属性名是后台传过来的甚至写在表里的,或者是更具一些字段拼凑的,很容易搞漏掉,还有一些是走进了传入 any 类型的参数的方法,也没法检查。
    julyclyde
        68
    julyclyde  
       307 天前
    @polo3584 pyCharm 似乎是用了语法解析的吧?并不少直接文字搜索?
    当然了如果用了运行时特性那是没办法
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5441 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 07:16 · PVG 15:16 · LAX 23:16 · JFK 02:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.