这些工程师们普遍用一句话来欺骗自己:“我们可以未来再重构代码,产品上线最重要!”但是结果大家都知道,产品上线以后重构工作就再没人提起了。市场的压力永远也不会消退,作为首先上市的产品,后面有无数的竞争对手追赶,必须要比他们跑得更快才能保持领先。所以,重构的时机永远不会再有了。工程师们忙于完成新功能,新功能做不完,哪有时间重构老的代码?循环往复,系统成了一团乱麻,生产效率持续直线下降直至为零。
AI时代,有人焦虑失业,有人偷偷变强,不写代码不烧脑~
相关语录
-
这就是科学理论和科学定律的特点:它们可以被证伪,但是没有办法被证明
-
通过将策略隔离,并让源码中的依赖方向都统一调整为指向高层策略,我们可以大幅度降低系统变更所常来的影响。因为一些针对系统低层组件的緊急小修改几乎不会影响系统中更高级、更重要的组件。
-
软件架构师可以根据相关函数被修改的原因、修改的方式及修改的时间来进行分组隔离,并将这些相互隔离的函数分组整理成组件结构,使得高阶组件不会因低阶组件被修改而收到影响
-
软件架构这项工作的实质就是规划如何将系统切分成组件,并安排好组件之间的排列关系,以及组件之间互相通信的方式
-
一段程序可以由一个测试来证明其错误性,但是却不能被证明是正确的。测试的作用是让我们得出某段程序已经足够实现当前目标这一结论
-
软件架构使得目标是创建一种系统形态,该形态会以策略为最基本的元素,并让细节与策略脱离关系,以允许具体决策过程中推车或延迟与细节相关的内容
-
根据上述讨论,我们可以得出一个无法逃避的结论:组件结构图是不可能自上而下被设计出来的。它必须随着软件系统的变化而变化和扩张,而不可能在系统构建的最初就被完美设计出来。
-
如果想设计一个便于推进各项工作的系统,其策略就是要在设计中尽可能长时间地保留尽可能多的可选项
-
一个架构设计良好的应用程序应该将状态修改的部分和不需要修改状态的部分隔离成单独的组件,然后用合适的机制来保护可变量。
-
对机器上那些很难改变的工作行为,我们通常称之为硬件(hardware)
-
面向对象编程就是以多态为手段对源代码中的依赖关系进行控制的能力
-
我们的目的是增加价值,因此鼓励员工积极参与应该是公司的优先任务!”

