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

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

  •  
  •   mikewang ·
    MikeWang000000 · 2024-02-16 03:07:59 +08:00 · 6303 次点击
    这是一个创建于 368 天前的主题,其中的信息可能已经有所发展或是发生改变。

    举几个例子我看见过的:

    红帽是 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  
       2024-02-16 03:12:47 +08:00 via Android   ❤️ 5
    没什么办法,HTTP 头里面的 referer 都错了这么多年了
    conge
        2
    conge  
       2024-02-16 04:04:05 +08:00
    哈哈哈

    我也老出这样的错……

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

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

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

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

    对于这种历史的拼写错误,如果是我写的,我就会改。不是我写的,凑合用
    FlytoSirius
        35
    FlytoSirius  
       2024-02-16 17:14:35 +08:00
    现在来看, 改动之前库里这些错别单词确实不现实,

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

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