
楼主是前端,每次看到组里其他人写的代码我都痛苦的要命。随便举几个例子吧:
if (isDefault) { this.xxx = true; this.timer = setInterval(() => { if (this.zzz) { if (this.ddd) { this.box = 24; } } }) } 每次看到这些代码我都快脑溢血发作,现在随便哪个编辑器都能做到自动对齐大括号,我真的怀疑它们在用记事本写代码。
.el-table__fixed-right { display: none; } 每次都是等到测试发现了,然后再回过头来改这个问题。
自从公司的人会用 Trae 之后,每次看到它们提交的 commit 里有 markdown 写的很详细的提交信息之后,我就知道它们又拉了一坨大的。
业务确实实现了,问题也解决了,但是代码质量真的令人发指,比如说,从某个模块中莫名奇妙引入一个根本不存在的虚空方法,然后莫名奇妙的在代码中调用,然后莫名其妙的逻辑根本不会走这里,业务还莫名奇妙实现了。
我怀疑它们真的是从来不 review AI 生成的代码,只要能跑通就行。代价是后续负责修 BUG 的人要一点一点抠这个是什么意思,连 CC 有时候都理不清它们写的是什么。
别问我为什么不和 Leader 沟通,因为它就是带头拉屎的人。
F@@@@@@KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
1 noahjsn 2 月 27 日 用魔法打败魔法。在屎山上再拉一坨 |
2 strobber16 2 月 27 日 via Android 你也用 ai 就行了。公司不管你就只能加入 |
3 hrzlvn 2 月 27 日 继续拉,继续拉,很多人已经说 ai 写代码就行了,人不用管,哈哈 |
4 lovelyxiaod 2 月 27 日 你可以给他一个 agent.md, 至于格式化的问题你就顺手 ctrl + shift + f 吧 |
5 itechify PRO ai 写的有时候不对齐 |
6 comeAcross 2 月 27 日 via Android 打不过就加入[dog] |
7 Gilfoyle26 2 月 27 日 |
8 YanSeven 2 月 27 日 这种最好了,加入进去一起浑水一起摸,然后自己偷偷学习跳槽。有责任心的人用 AI 会比以前累,没有责任心的就随地拉屎得了。 |
9 DICK23 2 月 27 日 husky 用起来啊,检查不过不然提交 |
10 dddd1919 2 月 27 日 都选了 AI 生成,还在乎格式干啥?不要去 review AI 的代码 |
11 billbur 2 月 27 日 打不过就加入 or 跑路 |
12 crysislinux 2 月 27 日 现在我看到像是 AI 生成的 PR 描述我都不想看,找我 review 反手就是一个 approve 。。。 |
13 ashuai 2 月 27 日 我教你,点右键,格式化代码 或者你也可以选择,全选 ctrl + a, shift + tab, shift + tab, shift + tab, shift + tab ,commit, push |
14 xing7673 2 月 27 日 公司不出钱用 cursor 或者 cc 么? |
15 malusama 2 月 27 日 添加代码库的 pre-commit , 上线 GitHub action 检测 lint 不符合都不能直接合并 |
16 importmeta 2 月 27 日 有工资就行,能跑就行,可能这些人就是这么想的。 |
17 iamnotcodinggod 2 月 27 日 ‘它们’很细节 |
18 Saniter 2 月 27 日 via Android 提交前不会过一下 format 吗 |
19 avenger 2 月 27 日 用 lint 啊,不通过不让提交 |
20 106npo 2 月 27 日 via Android ai 写的代码有啥好看的,看下文档然后 ai 跑一遍就行了 |
21 Ketteiron 2 月 27 日 @avenger #19 上司都带头拉屎了,说这些有啥用。缺的不是解决办法,因为所有解决办法都没用,除非能开掉造成这些现象的开发者,因为不开掉它们绝对无法维护好 CI 。 |
22 imnpc 2 月 27 日 AI 特别喜欢瞎编不存在的方法 |
23 MajestySolor 2 月 27 日 你只是个打工仔,为啥要考虑这些东西,只要问题不是出在你手上,别人爱怎么搞就怎么搞 自己统筹负责的项目可以精益求精,多人协同的项目就别吹毛求疵了,纯粹是自己给自己找麻烦 |
24 luckyliu1926 2 月 27 日 啥 ai 也不会这么弱智啊,还是人的问题 |
25 300 2 月 27 日 两家公司几十个同事,连我只有两个人会格式化代码后上传 () 这家公司也很 nb 。相同的业务代码能写十几份几乎一样的( nb 的点就在于他们每次写的思路一样,流程大差不差,变量名每次都有点不同) 明明有代码规则自己不遵守,当我我复制粘贴他们的代码,他们还会提意见说明他们还是能看懂的 能怎样呢,打不过就加入。公司现在的风气已经变了,以前是有多少事做多少。现在是你把事情全做完了(或者阶段做完了)说明你没发挥价值 |
26 kjstart 2 月 27 日 你们没 code review 吗? 没 eslint 检查吗? 没 ut 覆盖率检查吗? 我们有上述问题根本点不了 merge, ut 不到 80%也不能 merge. 每个 repo 都有一组 default reviewer, 至少要拿到两个 approve 才能 merge. 而且我们前端的开发工具改成类似 scratch 那种拖拽的了, 写 code 的机会都很少了. |
27 300 2 月 27 日 |
28 bruce0 2 月 27 日 代码格式化,我写 go 的,以前组内只有我一个人格式化后提交,一度让我很崩溃,代码同步下来,我改动一行,格式化后,提示几十上百行修改. 后来我写了一个 svn hook 的脚本,所有提交的.go 文件,必须能通过 fmt 检查才能提交,否则禁止提交.这个问题算是解决了 |
29 NGGTI PRO 让他们在 push 前,review 下或者,让 AI 自己 review 下就能解决大部分了。 |
31 BenHunDun 2 月 27 日 第 1 个, 格式化问题, 如果有人牵头弄一下, 其实提交的时候可以限制, 还算比较容易达成. 项目提供一些自动化命令以及规定统一代码规范. 第 2 个, 更觉更多就是要 code review 了. |
33 0x114514 OP @MajestySolor 我在努力让自己接收这一切,给钱就好,随便它们整吧。 |
36 darkengine 2 月 27 日 Leader 自己都拉,你不拉倒显得你不解风情了 /doge |
37 moons 2 月 27 日 如果其他人代码写的太好,加上 ai 的辅助,效率就会很高 你又不是领导,效率太高,普通员工就容易失业 所以,应该感谢其他人写的代码一般般,并祈祷多一些容易排查的 bug 。 |
38 treblex 2 月 28 日 我喜欢自动 format ,但是容易把别人的垃圾代码修改记录变成我的,就不敢用了,只能偶尔局部 format |
39 Lush 2 月 28 日 via Android 配置一下 commit 的时候执行一下 prettier 项目格式就统一了 |
40 MYDB 2 月 28 日 不要技术强迫症,接受任何风格的代码,只针对功能和 bug 交流 |
41 RedNax 2 月 28 日 我们 prettieer 配置直接写进 eslint ,eslint 又有 lint-staged 和 husky 把关,CI 上还有 lint 步骤,不管哪种情形都不会让 format 不对的代码 merge 进去的。 另外 vscode 配置一个 format on save ,用 eslint 来 format ,谁都省事。 |
42 anonymous00 2 月 28 日 直接让我想起曾经老生常谈的技巧:把个人问题上升为集体问题。 加入/融入,“锦上添花”,耐心等待。 不过,如果你的 team 整体是这样,说明你…不属于那里,看你的耐受度或其他机遇吧,你的 leader 无心尽责,可能也是在混日子或骑驴找马(尽管当前在国内不容易),有机会私下聊的话,顺带吐槽两句,试探一下。 |
43 wnpllrzodiac 2 月 28 日 via Android @YanSeven 跳槽也许去的也是满地拉屎的。现在编程界可能已经大部分都是拉屎了。工匠精神的开发已经被劣币驱逐良币了。开发开发越来越像做销售了。ppt 好看就行了,功能有问题糊弄获取就行。反正又不是自己用。 |
44 cslive 2 月 28 日 git hook 用起来 |
45 94 2 月 28 日 @lovelyxiaod #4 ,然后一看 Blame ,一堆修改的 committer 就变成你了 ![]() --- 如果 OP 你是项目前端的负责人,那么就写几个 husky 脚本,在每次提交和推送的时候做一些简单的格式化自动执行和 lint&ts 校验,校验不通过直接让别人提交和推送就行了。 如果你不是负责人大家都是同级的大头兵,就很简单了直接不看别人的代码。你也没办法要求别人按照你的意愿去做,眼不见心不烦。 遇到有 BUG 谁是 Owner 谁去改,如果你接盘了心情好有时间就重写,不开心了就上雕花。 |
47 systemGuest 2 月 28 日 1 、你还未认识到不同人的思维习惯基本无法统一 2 、你认为你是标准 3 、世人都得遵守你的标准 |
48 xcqnndc 2 月 28 日 格式化统一一下就行了 |
49 leegradyllljjjj 2 月 28 日 via iPhone 都在撤硕里就别嫌弃别人拉的屎臭了 |
50 Kiriri 2 月 28 日 @lovelyxiaod 那可不行,顺手格式化了之后,人家第一眼看到的修改记录就是格式化的那个人了,以后出问题了还会被找。 |
51 beyondstars 2 月 28 日 好日子还在后头呢,以后就不是碳基同事的代码让你发疯了,是硅基同事的代码让你发疯,而且以 10x 、20x 于现在的速度生成。 |
52 sodesga 2 月 28 日 多大点事,git hook |
53 dengji85 2 月 28 日 中国程序员代码写得再好都没有价值,程序员的上级很少有继续走技术路线的,那些管理者就是靠关系 or 机遇转了管理,其技术水平可能就是个初级,有些技术还可以的,转管理后也不再搞技术了,所以代码写的在好,其实没人会认识到的,花大量去封装和优化,累死自己,还不如去贡献开源项目 |
54 irisdev 2 月 28 日 这代码看着想笑 |
55 hi2hi 2 月 28 日 eslint 能够解决很多问题;;;算了,你也上 AI ,让 AI 对抗 |
56 zhengfan2016 2 月 28 日 @94 没啥用的,我们有个 monorepo 的大仓,有 pre-commit 的 lint 检测,招了个新人,它提交的代码其他人同步之后全部没法正常 commit ,报他代码各种 lint 错误,因为聪明的他早就把.git/hooks/pre-commit 删掉啦,其他人想提交还得帮他修 lint 问题 ![]() |
57 zhengfan2016 2 月 28 日 @Kiriri 如果你有实权,git hook 加个 pre-commit 格式化吧,可以统一格式化,大头兵的话就憋着不按格式化代码按钮最小化改动改其他人的代码 ![]() |
58 94 2 月 28 日 @zhengfan2016 #56 ,这种删除的操作是需要直接警告的,为什么会被允许?而且还能够被合并到主线影响到其他人。 |
59 yanxu4780 2 月 28 日 这不是写代码的日常吗? hhhh |
60 echoZero 2 月 28 日 结果导向 ,同事 ai 一把梭,出了问题在解决就是了,并且也不一定是他处理。 最终你同事月度/季度 KPI 还会加一条 用 AI 快速解决需求问题。 领导直接评优秀 |
61 tangguo 2 月 28 日 打不过就加入呗,他用 AI 拉屎后续修 BUG 继续拉 |
62 Lowlife 2 月 28 日 via iPhone 我一直觉得,能用就行,你就说能不能用吧?用户又不需要看代码, |
63 p1gd0g 2 月 28 日 哈哈哈 你要是 leader 就定规范,不是的话混就完了 |
64 wenrouxiaozhu 2 月 28 日 @zhengfan2016 #56 哈哈哈,我们这里也是...我之前加了一堆 Git hook ,结果他们都不装 pre-commit...后来改他们的代码我只能 SKIP=pylint,black git cz |
65 wenrouxiaozhu 2 月 28 日 @zhengfan2016 #57 pre-commit uninstall 怎么解 |
66 zhengfan2016 2 月 28 日 @wenrouxiaozhu #65 所以我说了得有实权,有权可以让别人就范,没权根本约束不了别人 ![]() |
67 site 2 月 28 日 强业务的代码里,一堆 xx1 xx2 xx3 xx4 xx5 xx6 的命名 ,气的要脑溢血 |
68 wengjin456123 2 月 28 日 via Android 看起来是公司根本无所谓技术的那种,也没钱买好的 AI 工具,也没好的架构师,建议换 |
69 colincat 2 月 28 日 防御性编程,很好 |
70 shaozelin030405 2 月 28 日 前端吗,和同事统一一下,都安装 eslint 的插件,如果是用 vscode ,直接把 vscode 的.vscode/setting.json 强行传上去。小问题 |
71 Felldeadbird 2 月 28 日 公司管理问题,别人可能也觉得你在拉屎。如果不能滚只能忍。 |
72 SayHelloHi 2 月 28 日 this.zzz this.ddd 这啥意思 感觉还是让 AI 来写吧 知道还看得懂 排版也好 |
73 shunia 2 月 28 日 @systemGuest #47 哦,这么说来多人开源项目根本无法实现咯? 按你的说法,我很好奇 linux 这种项目是怎么能被统一的,根本不可能做到啊?难道根本不用定标准,所有的合作者都是臭味相同,天生拥有一摸一样的思维习惯、代码标准? |
74 timesh 2 月 28 日 @lovelyxiaod 自动格式化也有坑的,不同的分辨率下换行字符数都不一致的。跟何况有的人喜欢修改格式化模板格式。 |
75 BGLL 2 月 28 日 |
76 EricSTG 2 月 28 日 |
77 wuxinli1025 2 月 28 日 eslint+prettier+husky |
78 systemGuest 2 月 28 日 @shunia 你最好收起你那理想化的美好愿望,这个世界绝大多数人,可以说 99.99% 都是草台班子,真正极少数精英,他们也不会讨论这个问题,普通人要有普通人的觉悟,就好比大多数程序员张口闭口都是大厂,但是养活大多数程序员都是小公司,顺势而为入乡随俗,不要妄想其他平凡普通的人都以你为标准,想一想自己写的项目生命周期有多长,是创造了多少价值还是混工资。 |
79 godiu 2 月 28 日 你直接点我名好了 |
80 fuwu1245 2 月 28 日 所以如何去教 AI 不再弄离谱的事情呢?( |
81 BigPiggggg 2 月 28 日 你拉一坨更大的进去就完事了 |
82 youyouzi 2 月 28 日 eslint+prettier+husky ,commit 和提交的时候强制校验,关闭-f 强推,我还不信治不了他 |
83 arthurblake 2 月 28 日 @treblex 可以设置成只格式化本次修改的代码,也就是一个文件中,只格式化本次改动的那个地方。我说的是 vscode |
84 maigebaoer 2 月 28 日 via Android 你需要一个 Claude code 或者 codex |
85 WithoutSugarMiao 2 月 28 日 用 cursor 或者 cc 模型就用 claude 或者 gpt 别用其他模型。AI 引入虚空方法,感觉已经是上个世纪的事了,从 claude4.0 开始,都没有这种问题了。 |
86 Vitta 2 月 28 日 千万不要格式化同事的代码 千万不要格式化同事的代码 千万不要格式化同事的代码 |
87 streamrx 2 月 28 日 via iPhone 现项目连 lint , format 这些都没有配置吗 |
88 bbbblue 2 月 28 日 leader 自己都这样就没办法了 他们可能还会觉得你不合群 如果你和别人讨论个问题 突然 leader 说能跑就行管他那么多 根本没办法继续了 |
89 oneend 3 月 1 日 立好规范, 配置好环境, 保存自动格式化, 最多再添加个保险, 提交 git 自动格式不就行了... 抱怨同事前,自己先提出个方案. |
90 msg7086 3 月 1 日 @shunia #73 你要是 Linus 脱袜子,你完全可以做到: > 2 、你认为你是标准 > 3 、世人都得遵守你的标准 你给 Linux 合代码,不按照他的标准,他直接一个国际友好手势送你走。 那么问题来了,你和 Linus 脱袜子的差距有多大呢,咱们再退一步,你是公司 CTO 还是 Tech lead ? 楼主都说了他是个前端。如果他今天是公司 CTO ,哪还有后面那么多废话,看到辣鸡代码 PR 直接一个国际友好手势踹回去就完事了。 |
91 kujo 3 月 1 日 ai coding 下,如何定义规范? |
92 xuld 3 月 1 日 不针对某个人,客观地说,如果连最基本的代码格式化都做不到,那起码说明这个作者不知道或不在乎他提交的代码会影响他人阅读。 如果我的项目伙伴有这样的问题,我会告诉他,如有必要也可以帮他配置保存时自动格式化工具。 如果他不听,那我也不需要**兼容**他,因为他会影响你的效率,影响你的情绪。 |
93 qwerty12345 3 月 1 日 加入光荣的进化吧 |
94 elintwenty 3 月 1 日 是公司的代码不是你的代码,程序员没有必要也不应该太负责 |
95 Rehtt 3 月 2 日 via Android 如果是你的下级就规范格式要求他,如果和你平级就向你上级反馈。如果你上级不管那就无视,在屎山上找个地方拉坨更大的 |
96 moioooo 3 月 2 日 via iPhone python 是个好工具,想不对齐?对不起我,跑不通! |
97 luzemin 3 月 2 日 |
98 raolight 3 月 2 日 说明你们 Leader 也不会用 ai ,不会写规则么?扫描一遍项目,再制定一下统一规则,其他人在规则的基础下使用 Ai 也不拉这么多 |
99 Geon97 3 月 2 日 git hook 里写规则。不符合规范无法 push |
100 scalpel666 3 月 2 日 这种问题你还不直接跟开喷,叫让它们改,上班别什么都憋着恶心自己 |