写点什么

读《Software Engineering at Google》(15)

作者:术子米德
  • 2022 年 4 月 23 日
  • 本文字数:873 字

    阅读完需:约 3 分钟

🤔☕️🤔☕️🤔

  • 读《Software Engineering at Google》(15)—— Deprecation

  • 📖:@Google,代码被假设为负债(liability),代码并不是资产(asset)

    🤔:弃用(Deprecation)vs 兼容(Compatibility),前者需要勇气,后者也需要勇气,一种是丢掉旧轻松向前,所谓丢的勇气,一种是抱持旧负重前行,所谓抱的勇气。虽然都是勇气,前者的勇气会带来更多自信和机会,后者却在持续削弱自己的勇气,直到恐惧感滋生。

    🤔:所谓负债,就是欠缺,那就要还债,废弃就是免除债务,这么说的确有道理。可是代码为何是债务,直觉中,或者说一直以来,代码都认为是值钱的资产,这样的认知翻转,为何会有,怎么产生,怎么逆转,脑子有点打结。

    🤔:强制报废,这在机械型产品里是常规。磨损到一定的程度,安全隐患持续上升,这个理由足以启动强制报废。报废换新的过程,就是在升级迭代的过程。软件系统,怎么跑也不会把 CPU 或内存给磨损坏,可是这不代表没有安全问题。软件系统基于的技术和使用环境,都在快速迭代改进中,这条进步的演进路线因素,尤其是网络因素引起的使用环境改变,导致安全问题从刚开始的不太考虑,到最后的直接暴露。这样的安全问题,足以成为启动软件报废的一个理由。

    🤔:持续问下去,到底什么因素,能推动软件系统持续改进,直到出现全新替换。忒修斯之船,每天换一部分,经过一段时间,几乎每个地方都是新部件。换下来的算废弃,装上去的算兼容,最终还是忒修斯船的样子。如果它刚开始能打火炮,那么无论如何替换,都不会具备发射巡航导弹的能力。对。如果功能没有变化,至少没有革命性变化,那就是持续在兼容替换。只有出现火炮到巡航导弹的颠覆式功能差异,才要废弃木质的忒修斯之船,改为钢铁质的巡洋舰。再细想一下,我可没听说过军舰可以每天换一点的说法。这也同时在说,越是强大、越是专用的系统,当其功能被淘汰时,也就是其软件系统被废弃的时候。在软件行业,单体系统到分布式系统,之所以不需要替换硬件,原因在于在硬件之上的基础操作系统软件,进行了彻底革新,结果还依然兼容单体系统下的软件,这算是软件加一层的魔力再现。

    —— By 术子米德 @2022.04.23

发布于: 刚刚阅读数: 2
用户头像

术子米德

关注

遇见每天的自己,莫忘初心,莫丢念头 2020.03.05 加入

喜欢有的没的,喜欢自言自语式笔记

评论

发布
暂无评论
读《Software Engineering at Google》(15)_架构师成长笔记_术子米德_InfoQ写作社区