摄影读书手绘

维护遗留软件使你意识到代码是多么脆弱

2023-08-10  本文已影响0人  技术的游戏

令人惊奇的是,软件每天都能正常工作。

我们发明了一些复杂的系统来支撑我们的应用程序,通过层层的抽象来保持它们的运行。

但当你真正停下来思考时,你刚刚构建的应用实际上依赖于某个开源框架。而这个框架依赖于很多其他的开源项目,每一个都有其自己的依赖项。

在几天内,这条依赖链就会过时。底层的包都有了新版本。

几个月内,你需要进行一些依赖更新,因为底层包中存在一些安全或许可证的漏洞。

对于遗留软件来说,升级通常可能会落后好几年。而使应用程序达到最新状态所需的工作是巨大的。

近期的困境

在过去的一周工作中,我开始了一个项目,目标是用现代的依赖关系来更新一个遗留应用程序。

令人惊讶的是,很多事情都可能出错:

依赖地狱

我不认识一个软件工程师,没有一个经历过这种挣扎的版本。依赖管理确实很难。

升级、导航破坏性更改、以及在Stack Overflow上花费大量时间来诊断为什么我会得到某些错误。

这使得很多时候,软件能够按照我们的预期工作,这一点更加令人惊讶。再考虑一下,你会意识到为了让你的应用运行,数十个不同的、独立的软件包之间的每一件事都必须恰到好处。

这真是太疯狂了!但这是现代软件的真相。

每周清单

请记住,始终保持学习的态度,并享受编码的乐趣!祝您编码愉快!

如果你喜欢我的文章,点赞,关注,转发!

上一篇 下一篇

猜你喜欢

热点阅读