文章探讨了技术债的产生根源,指出“需求变更”才是核心问题。作者以生动的比喻说明,当最初的项目需求与后续的“大象”般离谱的需求不匹配时,原有的良好架构会被破坏,导致技术债的累积。开发者常常面临无法预知未来需求变化而设计的困境。文章提出,既然需求变更不可避免,应对之道在于寻找一种能适应多变需求且不破坏现有代码的稳定性方法,暗示代码并非注定腐败。
🗄️ **需求变更与架构失配是技术债主因:** 文章指出,许多技术债的产生并非源于开发者能力不足或疏忽,而是由于项目过程中频繁且不可预测的需求变更。当最初设计的架构无法适应后续“大象”般的需求时,就会导致代码的“拉扯”和“稀碎”,从而积累技术债。
💡 **开发者困境与对未来的不确定性:** 开发者在设计架构时,通常只能基于当前已知的项目需求。然而,“需求变更”是常态,且往往难以预料,例如领导可能随时将“大象”换成“鲸鱼”。这种不确定性使得设计出能够完全适应未来所有变化的架构变得极其困难。
🚀 **应对之道:寻找适应性强的稳定性方法:** 文章并未断言代码注定会腐败,而是提出了应对策略。既然需求变化是必然的,那么关键在于找到一种能够灵活适应多变需求,同时又能有效保护现有代码不被破坏的方法。这暗示了对更具弹性和演进性的软件设计与开发实践的探索。
以前只是人云亦云地附和“技术债”,没细想,最近发现“需求变更”才是根源。
例如,领导说我们养个动物吧,比如仓鼠,然后你搭了一个小窝,结果领导牵来一头大象,你要么把窝改得不伦不类,要么拆了重盖。
这种需求与架构的不匹配,就会把原本良好的架构拉扯得稀碎。
浅聊一点技术债是怎么产生的?它可能是需求变更中一点点积累的,也可能是突然离谱需求导致实在没法适配的。
开发者面临的困境是,只能设计出符合项目最初需求的合理架构,没办法预知未知需求,但“需求变更”既合情合理也是常态。比如领导可能有一天会把大象换成鲸鱼。
所以,代码是注定会腐败的吗?
按常规思维来说是的,因为需求会一直变。但这也刚好暗示了应对方法:既然需求肯定会变,那么找到一种能适配需求多变,并且不会破坏已有代码的方法就好了,一种始终具有稳定性的方法。