我曾经写过一篇文章《技术是不是越新越好》,但反响平平,许多同学似乎难以接受我的观点。
今天,我们不争论这个观点,只来谈谈一个事实:无数项目,无论大小,仍然在使用那些看似过时的技术,这究竟是何原因呢?
课堂上的一次偶然事件,为我揭示了答案:升级存在风险。
我们以Bootstrap 3.0为例,基于该版本已经编写了一些代码。当我们发现3.0版本缺少一些新功能时,我们决定升级到新的3.3版本,以获取这些新功能。升级之后我们发现,原本正常的页面出现了故障。
经过深入调查,我们发现问题的根源在于:升级bootstrap后,原有的代码需要进行相应的调整。
幸运的是,我们的代码量较小,问题相对简单,容易修复。想象一下在一个庞大的项目中,成百上千的页面和复杂的业务逻辑,一旦升级,可能会引发连锁反应,风险之大难以估量。风险主要体现在两个方面:
问题出现后难以修复。在使用第三方插件时,我们的自主性受到限制。很多时候,我们可能无法修改或面临极大的修改难度。遇到这种情况,我们将如何应对?结果可能是一团糟。
更可怕的是,我们可能无法发现潜在的问题。很多时候,问题隐藏得很深,难以察觉。等到问题真正爆发时,可能已经造成了严重的后果。我经常强调,“要暴露问题,不要隐藏问题”。隐藏的问题就像,不知何时会引爆。看不见的敌人,才是最可怕的。
这并不意味着我们不能进行技术升级。技术的落后终究是要被淘汰的。“何时升级”这就需要我们根据实际情况进行权衡了。这是一个需要综合考虑各方面因素的决策过程,也是一种艺术。
好了,今天的内容就到这里。明天我们接着聊这个话题,不见不散。 |