产品研发记录03:关于技术债务的思考

一、何谓技术债务

技术债务就是传说中的各种坑,这些坑有大有小,不外乎如下几种类型:

  • 代码的坑。

无注释、无排版、各种冗余、各种难以维护的代码;绕来绕去很难看懂的代码;明显性能问题的代码;甚至还有逻辑混乱然后还能跑起来的神级代码。碰到这样的代码坑,给人的统一印象就是很难保持淡定。

  • 业务的坑。

业务一而再再而三的变,变得面目全非,甚至变得代码需要重新写。

  • 设计的坑。

架构设计,功能设计,API接口设计不合理。造成后续使用困难,扩展困难,跟不上业务的快速增长。

二、产生的原因

技术债务产生的原因不外乎如下几个:

  • 时间不够。

很难见到有时间充裕的项目,大多数项目都有一个deadline。比如双十一活动,那么对于苦逼的程序员,就必须得保证在这一天之前把所有的活动页面做出来。在时间紧迫的情况下,做出东西为首要目标,具体过程就是八仙过海各显神通了。在这种情况下,当然就是怎么快怎么来,而不会过多的考虑代码的整体结构、扩展、性能等要素。

  • 能力不够。

技术人员的能力不够,经验不够丰富,此种情况下即使给予充裕的时间可能也不会得到满意的结果。在做出优秀设计,写出优秀的代码这件事上无速成可言。

  • 不可控。

不可控是指自己无法控制,各种身不由己。比如:强势客户、强势领导非要让你这么干;前期框架就这样,即使知道有问题,还是得按照之前的套路走;

三、如何面对技术债务

  • 淡定。

这是首先要做的事情。畏难情绪一起来,工作效率随之降低。只有保持清醒的头脑,面对技术债务时才能做出正确的决定。

  • 填坑。

填坑得赶紧。从个人经验上来看,一些关键坑如果不赶紧填,坑就会越来越大,越到后面越难填,越让人头疼。

  • 总结。

总结为什么会有这个坑,避免今后再挖相同的坑。

上一篇:产品研发记录02:基础开发框架产品的设计哲学
下一篇:产品研发记录04:关于开源组件选择与技术方案选择的总结

你可能感兴趣的:(产品研发记录03:关于技术债务的思考)