程序员的技术负债怎么还?( 二 )
关于债务的这个比喻最吸引我的地方在于,它让我思考如何处理这个问题。假设我可能需要5天时间来清理这个模块化的结构,改好不健全的功能,这就相当于支付本金。如果只有这个功能需要用到这个模块,那么就得不偿失,因为我总共需要9天时间,如果我继续容忍这个模块的话只需要6天。然而,如果有两个相似的功能都用到了这个模块,那么我肯定会首先改好这个模块来加快速度。
如此说来,听起来这是个简单的数字问题,凡是有电子表格的经理都应该能够做出很好的选择。遗憾的是,我们并不能很好地衡量我们的生产力,因此这些成本都无法客观地衡量。我们可以估算完成一个功能需要多长时间,我们需要估算做新功能的时间(在改好模块后的情况下),以及改好这个模块的时间。然而,我们的估算的准确性非常低。
鉴于此,通常我们的做法是:背负着负债继续做新功能,并逐步支付本金。在做第一个功能的时候,我会花额外的几天时间来修复一些不健全的功能。这可以将未来的利息降低到一天。虽然这之后我们仍然需要花费额外的时间,但是这些代码附带的负债会降低。这种逐步改进的好处在于,如果我们频繁地改动某个有待修改的负债,那么就证明这些代码正是最需要被清理的区域。
推荐阅读
- 手机游戏|LOL手游技术主播排位遭遇安排,玩家段位各种大倒退,多人“中招”
- 地下城与勇士|DNF:技术流主播的“末路”?Eiji的直播风格引起争议!
- 诺言|酒馆战棋全靠运气?这3点展现技术的重要性!
- 斗鱼|杨颖斗鱼首秀,透露喜欢金克丝的原因,游戏技术得到若风认可
- 网游|颠覆你认知的网游土豪,程序员加班为他改游戏,还送专属服务器
- 地下城与勇士|DNF:游戏已变了味!两个技术帝主播衰败,人气热度濒临淘汰
- 网易|永劫无间诡异宕机事件:网易机房过热,程序员竟然祭出了干冰?
- fps|法神直播展示匕首技术,却不料被连续振刀?直言下次不许再玩了
- |西山居曝光“游戏增强学习AI技术”,正在1款内部产品中测试
- 手机游戏|LOL手游霸哥依旧下饭,“石头人空大害队友,学技术还看Thebug”