成为一名好RD|青训营笔记

117 阅读2分钟

这是我参加青训营的第27天,今天我复习并整理了青训营课程中的RD之基础技能中的CR(Code Review)有关的课程笔记,主要分为四个方面来梳理。

1.代码质量

一个优秀的代码,首先需要拥有两点特质。第一是具有高可读性,代码需要具备明确的语义,代码即注释。其次,代码需要有可维护性,为此,我们需要有统一的编码规范,稳定的工程结构和优秀的方案实现。

接下来,我们需要了解一个概念,用于理解代码的复杂度,这就是圈复杂度(Cyclomatic complexity),它可以用来衡量一个模块判定结构的复杂程度,其数量上表现为独立路径的条数,也可理解为覆盖所有的可能情况最少使用的测试用例个数。以下是他的计算方式:

image.png

根据圈复杂度,我们可以预测代码的三项CR指标:

image.png

代码评审

代码评审的目的是通过阅读源代码来检查代码是否符合规范,从而前置发现代码问题: CR关注的点包括代码规范和代码设计。

image.png

image.png

此外,还有小CR的概念,指将CR的代码体量缩减到一个比较小的值,如5分钟就可以阅读完,这样的方式可以提升效率,被Google所广泛采用。

重构实践

重构是对代码内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可阅读性。

这里引入一个概念,技术债(Technical debt),是指我们在开发产品或者功能过程中,快速(往往伴随着混乱和各种限制)地在时间和资源受限的情况下完成正常情况下无法完成的工作时引入的技术问题短期得到了好处,但是长期必须偿还。 以下是一个重构方法的应用:

image.png

上面的代码存在许多重复,需要重构:

image.png

重构的方法是将类型一般化,公共代码抽离。

代码上线

代码上线的重要概念是持续集成(CI),将代码频繁的集成到代码仓库。

同时,还应该进行AB实验测试。