本文探讨了“技术债”产生的深层原因,指出“需求变更”才是其核心驱动力。作者以养宠物为例,生动说明了当最初的需求(养仓鼠)与实际交付(来了一头大象)发生巨大偏差时,原有的良好架构将面临被破坏的困境。技术债的产生,既可能是需求变更的渐进积累,也可能是突发离谱需求的直接后果。开发者常限于设计最初需求下的合理架构,难以预知未来多变的需求。文章提出,既然需求变化是常态,那么应对之道在于寻找一种能够灵活适配变化、又不损害现有代码的稳定性方法。
🐾 需求变更被揭示为技术债的根本原因:文章认为,以往普遍认同的“技术债”并非源于技术本身,而是由不断变化的需求所驱动。以养仓鼠和来了一头大象的类比,形象地说明了当实际需求与初始设计发生巨大脱节时,原有的系统架构会因此承受巨大压力,甚至被损坏。
⚖️ 技术债的产生机制:技术债的形成可以分为两种情况:一种是需求在迭代过程中缓慢、渐进地发生变化,累积而成;另一种则是突发性的、不符合逻辑的离谱需求,导致现有架构无法适配,不得不进行大的改动甚至推倒重来。
💡 开发者面临的挑战与应对策略:开发者通常只能根据项目启动时的需求来构建合理的架构,而无法预知未来的不确定性。鉴于需求变更的常态化,文章提出,解决之道并非要消除需求变更,而是要寻找一种能够适应多变需求,并能在变化中保持原有代码稳定性的方法。
🔄 拥抱变化,寻求稳定性:文章暗示,代码的“腐败”是由于需求的持续变化。因此,应对之道在于开发一种始终具有稳定性的方法,这种方法能够灵活地适应不断变化的需求,而不是被动地承受其带来的破坏。
以前只是人云亦云地附和“技术债”,没细想,最近发现“需求变更”才是根源。
例如,领导说我们养个动物吧,比如仓鼠,然后你搭了一个小窝,结果领导牵来一头大象,你要么把窝改得不伦不类,要么拆了重盖。
这种需求与架构的不匹配,就会把原本良好的架构拉扯得稀碎。
浅聊一点技术债是怎么产生的?它可能是需求变更中一点点积累的,也可能是突然离谱需求导致实在没法适配的。
开发者面临的困境是,只能设计出符合项目最初需求的合理架构,没办法预知未知需求,但“需求变更”既合情合理也是常态。比如领导可能有一天会把大象换成鲸鱼。
所以,代码是注定会腐败的吗?
按常规思维来说是的,因为需求会一直变。但这也刚好暗示了应对方法:既然需求肯定会变,那么找到一种能适配需求多变,并且不会破坏已有代码的方法就好了,一种始终具有稳定性的方法。