查看您日常工作的代码。 那里已经有多久了? 几岁了? 六个月大? 一年? 也许五岁? 十? 二十?! 有多少旧代码? 少于10%? 半? 或高达90%? 我一直想知道这些问题的答案,因此一直在研究代码停留了多长时间。
软件考古学
适用于已经存在两年以上的任何公司,并且源代码已经存在了一段时间。 在这样的环境中编写软件通常是软件考古学的一个练习–深入研究应用程序就像深入挖掘古老的城市,慢慢地逐步揭示过去。
一旦您摆脱了闪亮的新型容器化微服务,您便开始研究最近的过去:也许是公司首次涉足面向服务的体系结构的残余; 现在,具有复杂业务逻辑纠缠的单片式服务集合都与如此多的Spring捆绑在一起。 进一步深入研究,我们回到EJB时代。 一些遗忘已久的豆类仍然坚持存在,因为缺乏任何开发者的食欲来重新理解它们。 在这里是骨骼所在的位置。
如果还没有破裂,请不要修复
旧代码有什么不好的地方? 毫无疑问,它正在实现一些重要目的。 至少,其中一些可能是。
如果您看一年前编写的代码,却看不到任何更改,那么您去年就没有学到任何东西
我们一直在学习更多:对领域有更好的了解,对我们的解决方案如何对领域建模,新的架构风格,新的工具,新的方