产品研发记录03:关于技术债务的思考
一、何谓技术债务
技术债务就是传说中的各种坑,这些坑有大有小,不外乎如下几种类型:
- 代码的坑。
无注释、无排版、各种冗余、各种难以维护的代码;绕来绕去很难看懂的代码;明显性能问题的代码;甚至还有逻辑混乱然后还能跑起来的神级代码。碰到这样的代码坑,给人的统一印象就是很难保持淡定。
- 业务的坑。
业务一而再再而三的变,变得面目全非,甚至变得代码需要重新写。
- 设计的坑。
架构设计,功能设计,API接口设计不合理。造成后续使用困难,扩展困难,跟不上业务的快速增长。
二、产生的原因
技术债务产生的原因不外乎如下几个:
- 时间不够。
很难见到有时间充裕的项目,大多数项目都有一个deadline。比如双十一活动,那么对于苦逼的程序员,就必须得保证在这一天之前把所有的活动页面做出来。在时间紧迫的情况下,做出东西为首要目标,具体过程就是八仙过海各显神通了。在这种情况下,当然就是怎么快怎么来,而不会过多的考虑代码的整体结构、扩展、性能等要素。
- 能力不够。
技术人员的能力不够,经验不够丰富,此种情况下即使给予充裕的时间可能也不会得到满意的结果。在做出优秀设计,写出优秀的代码这件事上无速成可言。
- 不可控。
不可控是指自己无法控制,各种身不由己。比如:强势客户、强势领导非要让你这么干;前期框架就这样,即使知道有问题,还是得按照之前的套路走;
三、如何面对技术债务
- 淡定。
这是首先要做的事情。畏难情绪一起来,工作效率随之降低。只有保持清醒的头脑,面对技术债务时才能做出正确的决定。
- 填坑。
填坑得赶紧。从个人经验上来看,一些关键坑如果不赶紧填,坑就会越来越大,越到后面越难填,越让人头疼。
- 总结。
总结为什么会有这个坑,避免今后再挖相同的坑。
上一篇:<a href="http://muchstudy.com/2017/01/04/%E4%BA%A7%E5%93%81%E7%A0%94%E5%8F%91%E8%AE%B0%E5%BD%9502%EF%BC%9A%E5%9F%BA%E7%A1%80%E5%BC%80%E5%8F%91%E6%A1%86%E6%9E%B6%E4%BA%A7%E5%93%81%E7%9A%84%E8%AE%BE%E8%AE%A1%E7%90%86%E5%BF%B5%E4%B8%8E%E5%93%B2%E5%AD%A6/">产品研发记录02:基础开发框架产品的设计哲学</a>
下一篇:<a href="http://muchstudy.com/2017/01/08/%E4%BA%A7%E5%93%81%E7%A0%94%E5%8F%91%E8%AE%B0%E5%BD%9504%EF%BC%9A%E5%85%B3%E4%BA%8E%E6%8A%80%E6%9C%AF%E9%80%89%E5%9E%8B%E7%9A%84%E6%80%BB%E7%BB%93/">产品研发记录04:关于开源组件选择与技术方案选择的总结</a>