Archive for 2019年10月

一次性代码和坚固的基础

2019/10/13

我对「技术债务」的态度和像对财务债务一样「中立」。借入债务以求发展是必要的,只要在 accounting 里确实把它标成「债务」。债务不断积累时要寻求机会逐步清除它们。比如说对还算能运行的代码进行 refactor。

这会遇到一种反对意见:这段代码估计一两年以后就要废弃了,何必费力气?只要修修补补撑段时间就好了。

其实我的经历是被这么评价的代码反而往往会跟随一个团队十几年。另一方面,有些被寄予很高期望,计划会被使用很多年的代码却连一次正式使用的机会都得不到就被抛弃了。

其实这很正常。把两种预测反着理解就好。被人说「一两年以后就要废弃了」的代码若依然会被写出来,就说明有现实的需要,已经能给公司和团队带来正面的资源。这样的东西要被推倒重来是几乎不可能的。而「计划会被使用很多年的代码」往往是基于长远的愿景而缺乏当前的盈利模式,最后如果不能发现盈利的契机就被放弃。