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

同事的离谱代码让我想发疯

  •  3
     
  •   0x114514 · 2 月 27 日 · 8862 次点击

    楼主是前端,每次看到组里其他人写的代码我都痛苦的要命。随便举几个例子吧:

    • 最基本的代码对齐都做不到,例如它们的代码是这样的:
    if (isDefault) {
        this.xxx = true;
      this.timer = setInterval(() => {
          if (this.zzz) {
            if (this.ddd) {
              this.box = 24;
                }
        }
      })
    }
    

    每次看到这些代码我都快脑溢血发作,现在随便哪个编辑器都能做到自动对齐大括号,我真的怀疑它们在用记事本写代码。

    • 喜欢全局重置某个组件库样式,从来不管会不会影响到其他组件样式。例如:
    .el-table__fixed-right {
      display: none;
    }
    

    每次都是等到测试发现了,然后再回过头来改这个问题。

    • 用 AI 漫天拉屎

    自从公司的人会用 Trae 之后,每次看到它们提交的 commit 里有 markdown 写的很详细的提交信息之后,我就知道它们又拉了一坨大的。

    业务确实实现了,问题也解决了,但是代码质量真的令人发指,比如说,从某个模块中莫名奇妙引入一个根本不存在的虚空方法,然后莫名奇妙的在代码中调用,然后莫名其妙的逻辑根本不会走这里,业务还莫名奇妙实现了。

    我怀疑它们真的是从来不 review AI 生成的代码,只要能跑通就行。代价是后续负责修 BUG 的人要一点一点抠这个是什么意思,连 CC 有时候都理不清它们写的是什么。

    别问我为什么不和 Leader 沟通,因为它就是带头拉屎的人。

    F@@@@@@KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

    89 条回复    2026-03-01 02:00:55 +08:00
    noahjsn
        1
    noahjsn  
       2 月 27 日
    用魔法打败魔法。在屎山上再拉一坨
    strobber16
        2
    strobber16  
       2 月 27 日 via Android
    你也用 ai 就行了。公司不管你就只能加入
    hrzlvn
        3
    hrzlvn  
       2 月 27 日   ❤️ 2
    继续拉,继续拉,很多人已经说 ai 写代码就行了,人不用管,哈哈
    lovelyxiaod
        4
    lovelyxiaod  
       2 月 27 日
    你可以给他一个 agent.md, 至于格式化的问题你就顺手 ctrl + shift + f 吧
    itechify
        5
    itechify  
    PRO
       2 月 27 日
    ai 写的有时候不对齐
    comeAcross
        6
    comeAcross  
       2 月 27 日 via Android
    打不过就加入[dog]
    Gilfoyle26
        7
    Gilfoyle26  
       2 月 27 日
    大家一起烂不就行了
    YanSeven
        8
    YanSeven  
       2 月 27 日
    这种最好了,加入进去一起浑水一起摸,然后自己偷偷学习跳槽。有责任心的人用 AI 会比以前累,没有责任心的就随地拉屎得了。
    DICK23
        9
    DICK23  
       2 月 27 日
    husky 用起来啊,检查不过不然提交
    dddd1919
        10
    dddd1919  
       2 月 27 日
    都选了 AI 生成,还在乎格式干啥?不要去 review AI 的代码
    billbur
        11
    billbur  
       2 月 27 日
    打不过就加入 or 跑路
    crysislinux
        12
    crysislinux  
       2 月 27 日
    现在我看到像是 AI 生成的 PR 描述我都不想看,找我 review 反手就是一个 approve 。。。
    ashuai
        13
    ashuai  
       2 月 27 日
    我教你,点右键,格式化代码
    或者你也可以选择,全选 ctrl + a, shift + tab, shift + tab, shift + tab, shift + tab ,commit, push
    xing7673
        14
    xing7673  
       2 月 27 日
    公司不出钱用 cursor 或者 cc 么?
    malusama
        15
    malusama  
       2 月 27 日
    添加代码库的 pre-commit , 上线 GitHub action 检测 lint 不符合都不能直接合并
    importmeta
        16
    importmeta  
       2 月 27 日
    有工资就行,能跑就行,可能这些人就是这么想的。
    iamnotcodinggod
        17
    iamnotcodinggod  
       2 月 27 日
    ‘它们’很细节
    Saniter
        18
    Saniter  
       2 月 27 日 via Android
    提交前不会过一下 format 吗
    avenger
        19
    avenger  
       2 月 27 日
    用 lint 啊,不通过不让提交
    106npo
        20
    106npo  
       2 月 27 日 via Android
    ai 写的代码有啥好看的,看下文档然后 ai 跑一遍就行了
    Ketteiron
        21
    Ketteiron  
       2 月 27 日
    @avenger #19 上司都带头拉屎了,说这些有啥用。缺的不是解决办法,因为所有解决办法都没用,除非能开掉造成这些现象的开发者,因为不开掉它们绝对无法维护好 CI 。
    imnpc
        22
    imnpc  
       2 月 27 日
    AI 特别喜欢瞎编不存在的方法
    MajestySolor
        23
    MajestySolor  
       2 月 27 日
    你只是个打工仔,为啥要考虑这些东西,只要问题不是出在你手上,别人爱怎么搞就怎么搞
    自己统筹负责的项目可以精益求精,多人协同的项目就别吹毛求疵了,纯粹是自己给自己找麻烦🤣
    luckyliu1926
        24
    luckyliu1926  
       2 月 27 日
    啥 ai 也不会这么弱智啊,还是人的问题
    300
        25
    300  
       2 月 27 日
    两家公司几十个同事,连我只有两个人会格式化代码后上传 ╮(╯▽╰)╭

    这家公司也很 nb 。相同的业务代码能写十几份几乎一样的( nb 的点就在于他们每次写的思路一样,流程大差不差,变量名每次都有点不同)

    明明有代码规则自己不遵守,当我我复制粘贴他们的代码,他们还会提意见😁说明他们还是能看懂的

    能怎样呢,打不过就加入。公司现在的风气已经变了,以前是有多少事做多少。现在是你把事情全做完了(或者阶段做完了)说明你没发挥价值
    kjstart
        26
    kjstart  
       2 月 27 日
    你们没 code review 吗? 没 eslint 检查吗? 没 ut 覆盖率检查吗?
    我们有上述问题根本点不了 merge, ut 不到 80%也不能 merge.
    每个 repo 都有一组 default reviewer, 至少要拿到两个 approve 才能 merge.

    而且我们前端的开发工具改成类似 scratch 那种拖拽的了, 写 code 的机会都很少了.
    300
        27
    300  
       2 月 27 日
    @300 格式化很简单,IDEA 这种直接在 commit 设置里选一下就是都不去做,我都提醒了他们也没用

    @malusama 我们有 lint ,sb 的是老板自己会 push/merge lint 失败的代码
    然后攒一堆找一个人(经常是我)说你跑一下 format.sh 修复一下

    反正格式化一下也算我在工作了,只不过其中会伴随一些操蛋的事情罢了
    bruce0
        28
    bruce0  
       2 月 27 日
    代码格式化,我写 go 的,以前组内只有我一个人格式化后提交,一度让我很崩溃,代码同步下来,我改动一行,格式化后,提示几十上百行修改.
    后来我写了一个 svn hook 的脚本,所有提交的.go 文件,必须能通过 fmt 检查才能提交,否则禁止提交.这个问题算是解决了
    NGGTI
        29
    NGGTI  
    PRO
       2 月 27 日
    让他们在 push 前,review 下或者,让 AI 自己 review 下就能解决大部分了。
    yhxx
        30
    yhxx  
       2 月 27 日
    @ashuai 你格式化了下次这里出问题 git blame 可就是你的了
    BenHunDun
        31
    BenHunDun  
       2 月 27 日
    第 1 个, 格式化问题, 如果有人牵头弄一下, 其实提交的时候可以限制, 还算比较容易达成. 项目提供一些自动化命令以及规定统一代码规范.
    第 2 个, 更觉更多就是要 code review 了.
    0x114514
        32
    0x114514  
    OP
       2 月 27 日
    @kjstart 有,没人遵守,写的代码规范更是没人看
    0x114514
        33
    0x114514  
    OP
       2 月 27 日
    @MajestySolor 我在努力让自己接收这一切,给钱就好,随便它们整吧。
    0x114514
        34
    0x114514  
    OP
       2 月 27 日
    @bruce0 我记得之前用 VSCode 写 go ,保存时会强制自动格式化,其他 IDE 肯定也有这个功能吧, 好奇你的同事们怎么做到的
    0x114514
        35
    0x114514  
    OP
       2 月 27 日
    @YanSeven 你说的很对,浑水摸鱼,自己提升自己好了。
    darkengine
        36
    darkengine  
       2 月 27 日
    Leader 自己都拉,你不拉倒显得你不解风情了 /doge
    moons
        37
    moons  
       2 月 27 日
    如果其他人代码写的太好,加上 ai 的辅助,效率就会很高
    你又不是领导,效率太高,普通员工就容易失业
    所以,应该感谢其他人写的代码一般般,并祈祷多一些容易排查的 bug 。
    treblex
        38
    treblex  
       2 月 28 日
    我喜欢自动 format ,但是容易把别人的垃圾代码修改记录变成我的,就不敢用了,只能偶尔局部 format
    Lush
        39
    Lush  
       2 月 28 日 via Android
    配置一下 commit 的时候执行一下 prettier 项目格式就统一了
    MYDB
        40
    MYDB  
       2 月 28 日
    不要技术强迫症,接受任何风格的代码,只针对功能和 bug 交流
    RedNax
        41
    RedNax  
       2 月 28 日
    我们 prettieer 配置直接写进 eslint ,eslint 又有 lint-staged 和 husky 把关,CI 上还有 lint 步骤,不管哪种情形都不会让 format 不对的代码 merge 进去的。

    另外 vscode 配置一个 format on save ,用 eslint 来 format ,谁都省事。
    anonymous00
        42
    anonymous00  
       2 月 28 日
    直接让我想起曾经老生常谈的技巧:把个人问题上升为集体问题。
    加入/融入,“锦上添花”,耐心等待。

    不过,如果你的 team 整体是这样,说明你…不属于那里,看你的耐受度或其他机遇吧,你的 leader 无心尽责,可能也是在混日子或骑驴找马(尽管当前在国内不容易),有机会私下聊的话,顺带吐槽两句,试探一下。
    wnpllrzodiac
        43
    wnpllrzodiac  
       22 小时 51 分钟前 via Android
    @YanSeven 跳槽也许去的也是满地拉屎的。现在编程界可能已经大部分都是拉屎了。工匠精神的开发已经被劣币驱逐良币了。开发开发越来越像做销售了。ppt 好看就行了,功能有问题糊弄获取就行。反正又不是自己用。
    cslive
        44
    cslive  
       22 小时 35 分钟前
    git hook 用起来
    94
        45
    94  
       22 小时 16 分钟前
    @lovelyxiaod #4 ,然后一看 Blame ,一堆修改的 committer 就变成你了

    ---

    如果 OP 你是项目前端的负责人,那么就写几个 husky 脚本,在每次提交和推送的时候做一些简单的格式化自动执行和 lint&ts 校验,校验不通过直接让别人提交和推送就行了。
    如果你不是负责人大家都是同级的大头兵,就很简单了直接不看别人的代码。你也没办法要求别人按照你的意愿去做,眼不见心不烦。

    遇到有 BUG 谁是 Owner 谁去改,如果你接盘了心情好有时间就重写,不开心了就💩上雕花。
    bruce0
        46
    bruce0  
       22 小时 0 分钟前
    @0x114514 #34 golang,需要配置一下,onAction 还是啥,后来我专门写了一个文档,让他们用起来
    systemGuest
        47
    systemGuest  
       21 小时 53 分钟前   ❤️ 1
    1 、你还未认识到不同人的思维习惯基本无法统一
    2 、你认为你是标准
    3 、世人都得遵守你的标准
    xcqnndc
        48
    xcqnndc  
       21 小时 48 分钟前
    格式化统一一下就行了
    leegradyllljjjj
        49
    leegradyllljjjj  
       21 小时 45 分钟前 via iPhone
    都在撤硕里就别嫌弃别人拉的屎臭了
    Kiriri
        50
    Kiriri  
       21 小时 29 分钟前
    @lovelyxiaod 那可不行,顺手格式化了之后,人家第一眼看到的修改记录就是格式化的那个人了,以后出问题了还会被找。
    beyondstars
        51
    beyondstars  
       21 小时 25 分钟前
    好日子还在后头呢,以后就不是碳基同事的代码让你发疯了,是硅基同事的代码让你发疯,而且以 10x 、20x 于现在的速度生成。
    sodesga
        52
    sodesga  
       20 小时 42 分钟前
    多大点事,git hook
    dengji85
        53
    dengji85  
       20 小时 42 分钟前
    中国程序员代码写得再好都没有价值,程序员的上级很少有继续走技术路线的,那些管理者就是靠关系 or 机遇转了管理,其技术水平可能就是个初级,有些技术还可以的,转管理后也不再搞技术了,所以代码写的在好,其实没人会认识到的,花大量去封装和优化,累死自己,还不如去贡献开源项目
    irisdev
        54
    irisdev  
       20 小时 34 分钟前
    这代码看着想笑
    hi2hi
        55
    hi2hi  
       19 小时 53 分钟前
    eslint 能够解决很多问题;;;算了,你也上 AI ,让 AI 对抗
    zhengfan2016
        56
    zhengfan2016  
       19 小时 44 分钟前
    @94 没啥用的,我们有个 monorepo 的大仓,有 pre-commit 的 lint 检测,招了个新人,它提交的代码其他人同步之后全部没法正常 commit ,报他代码各种 lint 错误,因为聪明的他早就把.git/hooks/pre-commit 删掉啦,其他人想提交还得帮他修 lint 问题
    zhengfan2016
        57
    zhengfan2016  
       19 小时 40 分钟前
    @Kiriri 如果你有实权,git hook 加个 pre-commit 格式化吧,可以统一格式化,大头兵的话就憋着不按格式化代码按钮最小化改动改其他人的代码
    94
        58
    94  
       19 小时 39 分钟前
    @zhengfan2016 #56 ,这种删除的操作是需要直接警告的,为什么会被允许?而且还能够被合并到主线影响到其他人。
    yanxu4780
        59
    yanxu4780  
       19 小时 39 分钟前
    这不是写代码的日常吗? hhhh
    echoZero
        60
    echoZero  
       19 小时 10 分钟前
    结果导向 ,同事 ai 一把梭,出了问题在解决就是了,并且也不一定是他处理。
    最终你同事月度/季度 KPI 还会加一条 用 AI 快速解决需求问题。 领导直接评优秀
    tangguo
        61
    tangguo  
       19 小时 7 分钟前
    打不过就加入呗,他用 AI 拉屎后续修 BUG 继续拉
    Lowlife
        62
    Lowlife  
       18 小时 54 分钟前 via iPhone
    我一直觉得,能用就行,你就说能不能用吧?用户又不需要看代码,😓
    p1gd0g
        63
    p1gd0g  
       18 小时 1 分钟前
    哈哈哈
    你要是 leader 就定规范,不是的话混就完了
    wenrouxiaozhu
        64
    wenrouxiaozhu  
       17 小时 50 分钟前
    @zhengfan2016 #56 哈哈哈,我们这里也是...我之前加了一堆 Git hook ,结果他们都不装 pre-commit...后来改他们的代码我只能 SKIP=pylint,black git cz
    wenrouxiaozhu
        65
    wenrouxiaozhu  
       17 小时 49 分钟前
    @zhengfan2016 #57 pre-commit uninstall 怎么解
    zhengfan2016
        66
    zhengfan2016  
       16 小时 55 分钟前
    @wenrouxiaozhu #65 所以我说了得有实权,有权可以让别人就范,没权根本约束不了别人
    site
        67
    site  
       16 小时 47 分钟前
    强业务的代码里,一堆 xx1 xx2 xx3 xx4 xx5 xx6 的命名 ,气的要脑溢血💩
    wengjin456123
        68
    wengjin456123  
       16 小时 38 分钟前 via Android
    看起来是公司根本无所谓技术的那种,也没钱买好的 AI 工具,也没好的架构师,建议换
    colincat
        69
    colincat  
       16 小时 37 分钟前
    防御性编程,很好
    shaozelin030405
        70
    shaozelin030405  
       16 小时 14 分钟前
    前端吗,和同事统一一下,都安装 eslint 的插件,如果是用 vscode ,直接把 vscode 的.vscode/setting.json 强行传上去。小问题
    Felldeadbird
        71
    Felldeadbird  
       15 小时 31 分钟前
    公司管理问题,别人可能也觉得你在拉屎。如果不能滚只能忍。
    SayHelloHi
        72
    SayHelloHi  
       15 小时 6 分钟前
    this.zzz
    this.ddd

    这啥意思

    感觉还是让 AI 来写吧 知道还看得懂 排版也好
    shunia
        73
    shunia  
       15 小时 4 分钟前
    @systemGuest #47 哦,这么说来多人开源项目根本无法实现咯?

    按你的说法,我很好奇 linux 这种项目是怎么能被统一的,根本不可能做到啊?难道根本不用定标准,所有的合作者都是臭味相同,天生拥有一摸一样的思维习惯、代码标准?
    timesh
        74
    timesh  
       15 小时 1 分钟前
    @lovelyxiaod 自动格式化也有坑的,不同的分辨率下换行字符数都不一致的。跟何况有的人喜欢修改格式化模板格式。
    BGLL
        75
    BGLL  
       14 小时 55 分钟前
    这是工程流程的问题,加个 pre-commit 流程就行了

    https://prettier.io/docs/precommit
    EricSTG
        76
    EricSTG  
       14 小时 48 分钟前
    你也让 AI 给你分析维护改 bug 就行
    wuxinli1025
        77
    wuxinli1025  
       14 小时 41 分钟前
    eslint+prettier+husky
    systemGuest
        78
    systemGuest  
       13 小时 22 分钟前
    @shunia 你最好收起你那理想化的美好愿望,这个世界绝大多数人,可以说 99.99% 都是草台班子,真正极少数精英,他们也不会讨论这个问题,普通人要有普通人的觉悟,就好比大多数程序员张口闭口都是大厂,但是养活大多数程序员都是小公司,顺势而为入乡随俗,不要妄想其他平凡普通的人都以你为标准,想一想自己写的项目生命周期有多长,是创造了多少价值还是混工资。
    godiu
        79
    godiu  
       13 小时 3 分钟前
    你直接点我名好了
    fuwu1245
        80
    fuwu1245  
       12 小时 57 分钟前
    所以如何去教 AI 不再弄离谱的事情呢?(
    BigPiggggg
        81
    BigPiggggg  
       12 小时 49 分钟前
    你拉一坨更大的进去就完事了
    youyouzi
        82
    youyouzi  
       12 小时 42 分钟前
    eslint+prettier+husky ,commit 和提交的时候强制校验,关闭-f 强推,我还不信治不了他
    arthurblake
        83
    arthurblake  
       12 小时 37 分钟前   ❤️ 1
    @treblex 可以设置成只格式化本次修改的代码,也就是一个文件中,只格式化本次改动的那个地方。我说的是 vscode
    maigebaoer
        84
    maigebaoer  
       12 小时 36 分钟前 via Android
    你需要一个 Claude code 或者 codex
    WithoutSugarMiao
        85
    WithoutSugarMiao  
       12 小时 8 分钟前
    用 cursor 或者 cc 模型就用 claude 或者 gpt 别用其他模型。AI 引入虚空方法,感觉已经是上个世纪的事了,从 claude4.0 开始,都没有这种问题了。
    Vitta
        86
    Vitta  
       11 小时 9 分钟前   ❤️ 1
    千万不要格式化同事的代码
    千万不要格式化同事的代码
    千万不要格式化同事的代码
    streamrx
        87
    streamrx  
       10 小时 56 分钟前 via iPhone
    现项目连 lint , format 这些都没有配置吗😂
    bbbblue
        88
    bbbblue  
       10 小时 54 分钟前
    leader 自己都这样就没办法了
    他们可能还会觉得你不合群😂😂😂

    如果你和别人讨论个问题 突然 leader 说能跑就行管他那么多 根本没办法继续了
    oneend
        89
    oneend  
       4 小时 59 分钟前
    立好规范, 配置好环境, 保存自动格式化, 最多再添加个保险, 提交 git 自动格式不就行了... 抱怨同事前,自己先提出个方案.
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   895 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 23:00 · PVG 07:00 · LAX 15:00 · JFK 18:00
    ♥ Do have faith in what you're doing.