大型 Android 系统重构实战
黄俊彬
Thoughtworks 资深咨询师
2840 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 29 讲
大型 Android 系统重构实战
15
15
1.0x
00:00/00:00
登录|注册

22|度量,我们如何以终为始,以始为终?

你好,我是黄俊彬。
很多时候在研发过程中,我们都习惯性地用“拍脑袋”的方式来看待一个事情。例如这个代码写得不好、这个自动化测试覆盖不充分、版本的发布频率太差了等等。往往只知道哪里有问题,但是却不知如何去找出根因,真正改进。
对于这种情况就需要我们引入度量。通过度量,可以让我们在研发过程中更加明确目标,避免一开始就走成了反方向,另外,完成了阶段性工作后,又可以通过持续的度量来反馈完成的情况,帮助我们持续地改进。
软件开发中,从需求到上线运营的每个阶段都有大量的度量指标,之前第 2 节课就从生命周期的视角提供了不少指标。而今天我要和你探讨的指标,和开发更加息息相关。
我会专门带你了解研发过程中开发、测试、构建发布这 3 个过程都有哪些关键的度量指标,这些指标背后的用意以及我们在实践中如何合理运用这些指标。

开发指标

首先我们来看看开发相关的度量指标。这里我挑选了 4 个遗留系统中通常问题比较多的度量指标,分别为圈复杂度、代码重复率、无效代码行以及代码耦合度。
其中圈复杂度、代码重复率、无效代码我们在第 8 节课中就讲过了,这里我们重点介绍指标的目的以及如何在实践中运用这些指标。

1. 圈复杂度

首先来看看圈复杂度。圈复杂度指的是我们代码的嵌套复杂度
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

软件开发过程中的度量指标对于团队的目标明确、问题发现和持续改进至关重要。本文从开发、自动化测试和流水线三个方面介绍了与度量相关的关键指标。在开发方面,圈复杂度、代码重复率、无效代码行和代码耦合度是常用的度量指标,用于评估代码质量和架构规则的符合程度。自动化测试方面的关键指标包括测试用例数、执行频率、执行时长和执行成功率,反映了自动化测试的投入和价值。而在流水线方面,构建频率、构建时长、构建成功率和平均恢复时长直接影响团队的效率和版本的质量。通过持续观察和分析这些指标,团队可以及时发现问题并进行调整,从而不断提升软件开发过程的质量和效率。文章还提到了不建议将度量指标纳入KPI中,以免失去度量的关键意义。文章最后提出了思考题,鼓励读者分享项目中使用的度量指标以及如何运用这些指标来持续改进。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《大型 Android 系统重构实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(2)

  • 最新
  • 精选
  • peter
    请教老师几个问题: Q1:规模大一点的公司,对于自动化测试,会成立自动化测试团队吗? 另外,自动化测试的运行结果,失败的测试用例中,因为环境问题导致失败的case多吗? Q2:每天都提交代码,那程序员是不是没有时间去仔细思考代码怎么写了? Q3:需求:安卓手机APP,通过wifi和外部设备通信。开发过程中,用的是安卓10,发现安卓10已经无法在软件上控制wifi。现在采用的方法是:手动开启手机上的wifi作为热点,设备连接到该热点。 请问,是否有某种方法可以让APP控制wifi?(也许有一个方法,比如设置某一个参数?)

    作者回复: Hi,peter。 Q1:会有独立的自动化测试团队。特别是中大型的 测试,会有一部分因为环境问题导致失败。 Q2:提交代码和思考代码怎么写没冲突。 Q3:这个建议可以查看一下官网的API说明文档,但是有一个趋势是Google对于权限的管理是越收越紧的趋势。

    2023-03-31归属地:北京
  • kevin
    老师你好,请教一个问题。在组件化或者插件化架构中,架构通常从下到上分为三层:基层组件层,功能组件层,业务组件层。我们的业务通常会引入功能层组件,功能组件再引入基础组件,当功能组件引入的某一个基础组件的代码更新以后,我们的业务层如何更新到这部分最新的代码,因为我们没有直接依赖引入该基础层组件,而是通过功能层间接引入的.
    2023-10-25归属地:美国
收起评论
显示
设置
留言
2
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部