effective engineer-权衡质量和成本

这节内容作者主要介绍如何在项目质量与成本之间做权衡。

建立可持续的代码评审流程

Code review在很多公司都是必须的步骤,它的好处显而易见:

  • 尽早发现bug或者设计缺陷
  • 增加代码可靠性
  • 建立优秀代码设计的正反馈
  • 相互熟悉其他人编写的业务逻辑
  • 从长期来看,高质量代码能加快迭代速率

团队需要在code review的开销和更快的功能开发上做一点权衡。而随着团队的增长和项目的逻辑日益复杂,code review几乎是不可避免的。

通过抽象来管理复杂度

建立适当的抽象层代码,对于日后的逻辑扩展、复用意义重大。良好的抽象应该具备以下特点:

  • 容易学习
  • 良好的自描述性
  • 很难被误用
  • 足够强大以满足需求
  • 容易扩展

从自己熟悉的语言入手,从这门语言的官方API入手,到社区最流行的代码库,大公司开源的代码库,从文档到源代码,一步一步深入抽象的设计。

自动化测试

单元测试提供了多人协作下的逻辑正确保证。单元测试为代码的修改,bug的修复,代码的大规模重构提供了保障。

偿还技术债务

在某些业务驱动的场景下,由于时间紧急,常常需要用一些不符合规范的方法来完成编码。当然,时间紧急不是技术债务产生的唯一原因,对于业务场景理解的不透彻也有可能导致不良的设计。适时进行局部代码重构和清理是防止项目失控的必要步骤。

你可能感兴趣的:(effective engineer-权衡质量和成本)