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

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

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

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

    • 最基本的代码对齐都做不到,例如它们的代码是这样的:
    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

    100 条回复    2026-03-02 17:15:04 +08:00
    noahjsn
        1
    noahjsn  
       2 月 27 日
    用魔法打败魔法。在屎山上再拉一坨
    strobber16
        2
    strobber16  
       2 月 27 日 via Android
    你也用 ai 就行了。公司不管你就只能加入
    hrzlvn
        3
    hrzlvn  
       2 月 27 日   ❤️ 4
    继续拉,继续拉,很多人已经说 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 日   ❤️ 1
    @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  
       2 月 28 日 via Android
    @YanSeven 跳槽也许去的也是满地拉屎的。现在编程界可能已经大部分都是拉屎了。工匠精神的开发已经被劣币驱逐良币了。开发开发越来越像做销售了。ppt 好看就行了,功能有问题糊弄获取就行。反正又不是自己用。
    cslive
        44
    cslive  
       2 月 28 日
    git hook 用起来
    94
        45
    94  
       2 月 28 日
    @lovelyxiaod #4 ,然后一看 Blame ,一堆修改的 committer 就变成你了

    ---

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

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

    这啥意思

    感觉还是让 AI 来写吧 知道还看得懂 排版也好
    shunia
        73
    shunia  
       2 月 28 日
    @systemGuest #47 哦,这么说来多人开源项目根本无法实现咯?

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

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

    如果你和别人讨论个问题 突然 leader 说能跑就行管他那么多 根本没办法继续了
    oneend
        89
    oneend  
       14 天前
    立好规范, 配置好环境, 保存自动格式化, 最多再添加个保险, 提交 git 自动格式不就行了... 抱怨同事前,自己先提出个方案.
    msg7086
        90
    msg7086  
       13 天前
    @shunia #73
    你要是 Linus 脱袜子,你完全可以做到:
    > 2 、你认为你是标准
    > 3 、世人都得遵守你的标准
    你给 Linux 合代码,不按照他的标准,他直接一个国际友好手势送你走。

    那么问题来了,你和 Linus 脱袜子的差距有多大呢,咱们再退一步,你是公司 CTO 还是 Tech lead ?
    楼主都说了他是个前端。如果他今天是公司 CTO ,哪还有后面那么多废话,看到辣鸡代码 PR 直接一个国际友好手势踹回去就完事了。
    kujo
        91
    kujo  
       13 天前
    ai coding 下,如何定义规范?
    xuld
        92
    xuld  
       13 天前
    不针对某个人,客观地说,如果连最基本的代码格式化都做不到,那起码说明这个作者不知道或不在乎他提交的代码会影响他人阅读。
    如果我的项目伙伴有这样的问题,我会告诉他,如有必要也可以帮他配置保存时自动格式化工具。
    如果他不听,那我也不需要**兼容**他,因为他会影响你的效率,影响你的情绪。
    qwerty12345
        93
    qwerty12345  
       13 天前
    加入光荣的进化吧
    elintwenty
        94
    elintwenty  
       13 天前
    是公司的代码不是你的代码,程序员没有必要也不应该太负责
    Rehtt
        95
    Rehtt  
       12 天前 via Android
    如果是你的下级就规范格式要求他,如果和你平级就向你上级反馈。如果你上级不管那就无视,在屎山上找个地方拉坨更大的🤣
    moioooo
        96
    moioooo  
       12 天前 via iPhone
    python 是个好工具,想不对齐?对不起我,跑不通!
    luzemin
        97
    luzemin  
       12 天前
    再忍忍,再坚持一年半载,整个前端行业都没了,就没有这个烦恼了
    raolight
        98
    raolight  
       12 天前
    说明你们 Leader 也不会用 ai ,不会写规则么?扫描一遍项目,再制定一下统一规则,其他人在规则的基础下使用 Ai 也不拉这么多🌚
    Geon97
        99
    Geon97  
       12 天前
    git hook 里写规则。不符合规范无法 push
    scalpel666
        100
    scalpel666  
       12 天前
    这种问题你还不直接跟开喷,叫让它们改,上班别什么都憋着恶心自己
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1029 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 18:50 · PVG 02:50 · LAX 11:50 · JFK 14:50
    ♥ Do have faith in what you're doing.