程序员需要知道的75件事翻译—Act With Prudence 慎行

欢迎关注我的博客


翻译

------
"无论你做什么,请谨慎的做,并且考虑这件事情的连续后果"---Anon
  
在软件迭代的开始,无论进度开起来多么的宽裕,你都无法避免来自时间上的压力。如果你发现你必须在“正确的写程序”和“快速的写程序”之间选择,那么你往往会选择“快速的做”,并给自己一个“以后再Fix它”的借口。如果你对你自己,你的团队,你的客户做出这个承诺,那么兑现他。但是,经常能看到的事情是在下一个软件迭代周期中,我们需要解决新的问题,你也专注于解决新的问题。这种拖延工作的行为我们叫做技术债。而这样做并不好。更确切的说,Martin Fowler将这种情况叫做故意的技术债,和那些无意中的错误导致的技术债区分。
技术债就像是贷款:你会在短期取得很好的效果,但是终究你要连本带利的还掉你的欠债。在代码中的“捷径”让增加功能和重构代码都变得更为困难。这让Bug蔓生,让测试用例完成更困难。知道你修正这个技术债,你才能免去这一切烦恼。如果你正在着手修复一个源头处的错误,这也许会引出一系列“不那么正确”的设计。这会使代码更难重构和修正。事实上,经常是代码真的出错了,你才去修复它。那时候,这个开始是很小问题的“技术债”,已经变得很难去修复了。你的项目也不能承受修复这个债的时间和风险。


你有时候必须要欠下这种“技术债”,例如deadline将至或者实现一个很小的功能点。首先避免这种情况出现,但是如果出现了,那么也只能欠下这个“债”了。但是(一个大大的但是),你必须记录跟踪这个“技术债”,并尽快的偿还他。否则事情将迅速的变得不可控制。也就是,一旦你打算这样做,那么必须记录到一张任务卡或者一个issue中,这样才能保证你不会忘了这件事情。


如果你在下一个迭代周期中,打算偿还这个技术债,那么损失会最小化。如果你一直不偿还这个技术债,那么你同时需要记录由于这个“技术债”而产生的“利息”,并量化它。这样做会强调这个技术债的影响,并且可以量化“还债”的优先级。如何计算和跟踪“利息”和具体项目有关,但是你必须这么做。


及时的还清技术债。否则,这技术债便是轻率的行为。


想法

------

  • 慎行是一个很重要的事情。但是让每个程序员时刻对自己要求严格,是一件很刻薄的事情。
  • 一个人如果切实了解这件事的价值,那么一定会去做。
  • 中国的教育,注定了中国的程序员很难有这方面的素质。其实,培养这种素质很简单。让大学的毕业设计,从大一开始做。四年写一个大型的系统。那么每个人都应该能感受到不应该欠下“技术债”了
  • 文中提到的“技术债"的欠法很牛逼。以前自己没有想到。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值