经常在论坛里看见到一些吐槽:自己接手的代码里屎山成堆,没得选,只能基于屎山进一步维护。
但为什么会是这样?
本质上是从老板的视角来看和从工程师的视角来看问题不同。工程师作为具体的执行者,希望每件事都尽善尽美,提升自身的价值,打造完美的产品。
而作为老板,往往面临的是资源有限,能做的事情又足够多,这个时候需要选择 ROI 更高的事情来做,很容易在不断解决客户问题过程中,累计历史债务。
当然, 我们可以通过一些管理手段来降低历史债务累计的手段:
- 招募更加优秀的工程师:优秀的工程师往往有着更好的代码品味,叠屎山的速度会更慢一些。
- 引入 CR 的流程:CR 的流程比单个人开发出现风险的概率更低。
- 接入自动化测试等手段:自动化测试让屎山降低的过程中,风险逐渐降低。
此外,在解决屎山的时候,同样需要选择,如何解决屎山,以获得最高的效益。
选择,无处不在。