在冶金学里,退火工艺通过缓慢降温让分子排列更规整,最终锻造出强度更高的晶体。软件工程借用这个隐喻,演化出一套迷人却危险的直觉:系统成熟后,每次改动都该像精细雕琢,控制在几百行、几个文件内,仿佛小步迭代就是质量的代名词。 最近几个月,我接连听到多个团队推行几乎相同的准则:每个Pull Request不超过几个文件,行数上限设在500,一次只做一件事,必须附带完整测试。表面看,这无可挑剔——将六千行的史诗级需求拆解成十二个原子化PR,每个都清晰可审、可独立回溯、出问题时还能精准回滚。但很少有人计算另一笔账:十二个PR意味着十二次上下文切换,评审者被迫在碎片化的改动间反复跳转,认知负载不是线性叠加,而是指数级膨胀。 这正是退火思维的隐秘陷阱。模拟退火算法之所以有效,是因为它允许初期的大尺度跳跃,在解空间里飞速试错,能量逐渐降低后,步幅才收窄到精调区间。但软件世界的残酷之处在于,当外部环境或需求骤变时,退火式的渐进主义会瞬间失灵。你不可能指望一把锻造好的锤子某天突然需要改变形状,还能靠缓慢冷却来维持强度;软件同样如此,某些重构或架构调整必须进行大跨度的热跃迁,强行压制在500行以内反而会撕裂已经被验证的稳定结构。 更讽刺的是,对“易审”的执念正在催生一种新的形式主义:PR因机械切分而丢失上下文,审查流于表面;测试用例虽全,却无法覆盖跨模块交互的裂缝;而倍增的CI队列时间和合并冲突,让“小步快跑”变成了集体慢动作。我们畏惧大改动破坏晶体结构,却没有意识到,真正让系统脆化的,是对变化尺度的教条式恐惧。是时候重新审视这条黄金法则了——优质软件工程不在PR尺寸的绝对数值,而在对变动脉冲节奏与团队认知带宽的动态匹配。当行业把退火讲成唯一真理的那刻,它就已经错了。
![]()
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.