软件设计:从专业到卓越
张刚
资深技术专家
374 人已学习
立即订阅
软件设计:从专业到卓越
15
15
1.0x
00:00/00:00
登录|注册

第 10 章 设计质量贯穿始终(2)

10.4 代码评审和结对编程

测试是发现代码质量问题的有效手段。但在大多数时候,测试关注的是功能问题,难以发现设计问题。
软件设计本质上是一个智力活动。为了有效地发现设计质量问题、提升设计质量,最好的方法是引入更多人的智慧。本节我们将介绍两个彼此相关的实践:代码评审和结对编程。

10.4.1 正确认识代码评审的价值

顾名思义,代码评审是在代码编码过程中,或编码完成后,由其他开发者阅读代码,以提升代码质量的活动。代码评审看起来很简单,但是在现实中,经常出现各种错误的做法。这些做法导致许多团队付出了代码评审的成本,却没有取得应有的收益。
代码评审的目标不是发现功能上的缺陷
代码评审最本质的作用并不是发现问题。如果只是发现问题,那代码评审是一种极其低效的方法,测试先行已经建立了自动化测试,用计算机来查错比人类查错可高效多了。
代码评审的核心作用是提升设计质量、统一设计风格和建立长期的代码文化。在代码评审的过程中,团队成员对于什么是好的设计的认知会逐渐趋同,并会以编写高质量的代码为荣。与此同时,无论是评审者还是被评审者,都能持续学习,并因此提高编程技能。
当然,不可否认的是,代码评审一定也能或多或少地发现代码中的逻辑问题。但是,把发现问题作为代码评审的目标,显然是一种不合理的责任转移。代码实现者有义务保证代码逻辑的正确性。把检验代码是否正确的期望过多地寄托到代码评审上,既低效,又有害。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了在软件开发过程中如何通过代码评审、结对编程以及代码质量度量来提升设计质量。首先强调了测试难以发现设计问题的局限性,随后详细介绍了代码评审和结对编程的实践方法及其对设计质量的积极影响。此外,还讨论了圈复杂度和认知复杂度的重要性,以及测试覆盖率作为指示器的有效性。文章还提到了测试覆盖率的误用和结构问题检测的重要性。通过深入的分析和实践案例,为读者提供了丰富的实用经验和建议,帮助他们更好地理解和应用代码评审和结对编程来提升软件设计质量。文章还介绍了设计结构矩阵的使用,以及发现问题热点的方法。最后,强调了明智地应用度量指标和持续地对度量进行监控的重要性,以应对软件设计质量的天然腐化趋势。质量内建的策略以及相关的关键实践,并介绍了支撑高质量软件设计的度量和工具。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《软件设计:从专业到卓越》
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部