标签: 代码审查 2025-12-11 次
和北京心玥软件公司一起聊聊你代码审查里真正在发生的事。还记得那个刚离职的初级工程师吗?他在离职面谈中坦言,你的审查让他陷入持续的自卑。是的,这事就发生在我眼皮底下。此刻若你暗自嘀咕"我的新人可喜欢我的反馈",不妨扪心自问:他们真敢说出真实感受吗?
这事儿不是为了指责谁。因为太多高级开发者把代码审查变成了表演艺术,是时候指出来了。我也干过这事儿。但这不代表我们不能揭露整个行业的现状。

🎭 “最佳实践”的剧场
模式是这样的:一个初级工程师提交的PR优雅地解决了问题,测试通过,逻辑也没问题。然后你就带着这些来了:
“这个变量该叫userData而不是user”
“我们能把它弄得更函数式点吗?”
“我要是在这儿会用工厂模式”
“嗯,有意思的思路...”(翻译过来就是:“这不对,但我想显得有想法”)
与此同时,他们漏掉的实际bug呢?会导致生产环境崩溃的边缘情况呢?你没发现,因为你忙着争论他的函数该叫processData还是handleDataProcessing。
你不是在审查他们的代码,是在展示你的专业能力。
⚔️ 吹毛求疵的权力游戏
咱们坦诚点:对很多高级开发者来说,代码审查已经成了武器。可能不是故意恶意,但影响一样。
完美主义者的游乐场
每个PR都成了展示“你会怎么做得更好”的机会——而不是“怎么让他们的代码更好”。
你偷偷塞进刚学的冷门模式,把前公司的架构决策当普世真理引用,留的评论其实是自言自语,根本不是可操作的反馈。
移动球门游戏
🥇 第一轮:“用更具描述性的命名”
🥈 第二轮:“其实这些名字太啰嗦了”
🥉 第三轮:“你能重写整个函数吗?”
💀 第四轮:他们放弃了,在更新简历
耳熟吗?如果你这么干,你不是“维护标准”,是在欺负新人。
冷处理
三天。没评论。没批准。就...沉默...
你告诉自己“太忙”或“需要多想想”。但其实呢?你在逃避给出好反馈的辛苦活。而这沉默?给了你权力,让你成了瓶颈,让别人等你。
这不是领导力,是守门。
🚨 你忽视的真正问题
当你在争论语法糖时,你没问的是:
• 这真能解决用户的问题吗?
• 我们是不是在引入技术债?
• 这到底是不是该建的功能?
• 这能扩展吗?
• 有人测试过正常路径之外的情况吗?
但当然,去争论这该是个类还是个函数吧。因为那些辩论让你觉得自己聪明。难的问题呢?那才需要动真格思考。
🤷♂️ “可代码质量啊!”
没错,每个人都拿“代码质量”当借口。
但你实际创造的是:
• 学会写能通过你审查的代码、而非好代码的初级工程师
• 真实学习停止发生的团队
• 创新在你基于偏好的吹毛求疵下消亡的环境
你不是在提高标准,只是挪来挪去刷存在感。
🧪 自我膨胀测试
你的审查文化有毒,当:
• 你因不在任何风格指南里的风格偏好卡PR——那只是你的偏好
• 你的评论聚焦在他们怎么做,而非是否有效
• 你批准其他高级工程师的烂代码,却因同样错误把初级工程师批得体无完肤
• 讨论串比代码差异本身还长——因为你放不下
• 你发现自己想着“要是找不出错,别人会质疑为啥需要我”
如果你在其中任何一条认出了自己,恭喜:你是问题的一部分。
✅ 代码审查本该是什么样
代码审查应该:
• 抓bug和安全问题(你知道,重要的事)
• 分享某些方法为何更好,而非只断言它们更好
• 验证方案是否契合问题
• 确保测试真测到了重点
• 是对话,不是训话
注意到少了什么吗?证明你比作者聪明。
🌱 好的审查实际什么样
多数高级工程师写的:“这没法扩展。用仓储模式重写。”
导师式的写法:“改得好!有个顾虑:这在循环里查数据库,记录多了可能慢。能批量处理吗?需要的话乐意结对——这是我们之前有效的做法:[链接]。但如果我有遗漏的理由支持这做法,告诉我!”
前者是守门,后者是协作。
你在做哪一种?

🌑 不舒服的真相
多数审查评论都是作秀。
它们是伪装成质量控制的明哲保身,是你保护“啥都懂的高级工程师”地位的手段,是你害怕找不出错、别人会质疑为啥需要你的表现。
是的,我也犯过这错。但认识到问题不免除我们任何人去修复它的责任。
🤔 点“提交”前该问的问题
在你留下次审查评论前,逼自己回答:
• 我审查是为了改进代码,还是炫耀?
• 这评论有用还是只是挑刺?
• 我是因偏好还是真问题卡着?
• 要是别的资深工程师写的,我会接受吗?
• 这评论帮他们成长,还是只让他们感觉渺小?
如果你对自己诚实,可能会删掉一半评论。
🧾 底线
好的代码审查:抓bug、传播知识、改进系统、建立信心。
坏的:欺负人、拖慢团队、护短、赶走人才。
有时你能给的最好审查是:“看着不错,发吧。”
当你真有反馈时,先说有效的部分,再提需改进的。用提问代替断言。把每个PR作者都当能干的专业人士对待。
挑战来了:去看看你最近10次代码审查。认真看看。你多少评论是关于实际问题vs个人偏好?多少次提问vs提要求?要是你聚焦重点,多少PR能早一天发布?
资深开发人员的职责不是守门,是开门;不是拆台,是搭台;不是证明最聪明,而是让团队更强大。
问题是:你在这么做吗?还是只是在办自己的自我膨胀竞技场,还管它叫代码审查?