`
androider
  • 浏览: 751867 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

转:Code Review 的价值

阅读更多

首先必须承认Code Review的价值。经验丰富的专家们在做代码审查的时候,能够根据以往经验,规避重大缺陷的发生,对开发人员给予有价值的指导。然而,这个过程,太冗长,太低效。

 

Code Review必须基于事实。这里的事实,就是,源代码库。SVN Repository, 或者HG/Git Repository. 在多人协作环境中,对于一份不在源代码库代码是基本不可信的 —— 你无法预知,他是否将会成为最终可工作软件的一部分。

积攒下来众多的代码修改,使得产生重型、低效的沟通方式成为必然。这类众型的沟通方式往往成本惊人 – 需要占用最好的人很长时间。

 

过分夸大专家的作用。根据以往经验,许多最终发现问题,回溯上来,其实是一些简单的逻辑问题。这些问题如果分散在平时结对或者更频繁的过程中,则更容易发现。很多情况下,是开发人员对常见的bad smell了解和修炼不足,而这些bad smell常常是导致问题的地方。例如在一个已经有3重循环的方法中加入了新的判断而没有测试;修改了函数的返回值而没有任何说明;if 判断中包含了多达4-5个变量的比较判断而没有抽象为一个更具业务含义的方法,等等。Review手段的原始落后。

 

Review必须基于变化。会看报表的人都知道,看报表只需要看两个东西:趋势和拐点。Code Review也一样,只需要看变化。SVN/Hg/Git这类现代化的工具给我们提供了丰富的,基于changeset的compare工具。查看一天,整个团队的check in情况,顶多只需要10分钟-15分钟。

 

在敏捷过程中,Code Review几乎是一个被忽视的环节——不是不做,而是时时在做。结对时,我们会对结对伙伴的编码习惯、新写的类、变量表示质疑;提交之后,有代码静态检查工具、单元测试工具、覆盖率工具帮助我们检查有没有犯简单愚蠢的错误、有没有破坏既有功能;持续集成服务器则中立、不知疲倦的在每次我们提交之后运行所有的过程

 

Code Review不是一个审查环节。不是一个考核环节。它是交流和反馈环节

分享到:
评论

相关推荐

    code review 怎么做

    6. **效果评估**:定期评估Code Review的效果,比如通过减少bug率、提高代码可维护性来衡量其价值。 Code Review是软件开发过程中的重要组成部分,它不仅可以提升代码质量,还能增进团队间的合作与学习。因此,每个...

    加餐三丨聊一聊Google是如何做CodeReview的1

    4. **激励机制**:设立奖励制度,鼓励团队成员积极参与Code Review并提出有价值的反馈。 通过这些措施,我们可以期待Code Review在中国的软件开发行业中发挥更大的作用,推动整体技术水平的提升。

    极狐:2023中国企业研发高效能白皮书-Code Review篇.pdf

    《极狐:2023中国企业研发高效能白皮书-Code Review篇》深入探讨了Code Review在当前中国企业研发过程中的重要性、价值、挑战以及发展趋势。Code Review,即代码审查,是软件开发中的关键环节,旨在通过同行评审来...

    OWASP Code Review Guide

    #### 三、OWASP指南的定位与价值 - **协作环境**:OWASP(开放网络应用安全项目)提供了一个协作平台,让来自世界各地的安全专家共同维护和更新安全材料。 - **不断更新**:OWASP指南每月都有上千次的更新,确保了...

    secr_indent:堆栈交换代码检查自动将您的文件缩进四个空格,因此您可以轻松地将它们发布到http:codereview.stackexchange.com

    `secr_indent` 是一个工具,专为程序员设计,用于帮助他们在将代码提交到 `StackExchange` 的 `CodeReview` 部分时...对于任何在 `StackExchange` 的 `CodeReview` 社区活跃的开发者而言,这是一个非常有价值的工具。

    code review 理解,作用

    代码审查(Code Review)是软件开发过程中的一个重要环节,它是一种同行评审技术,旨在通过其他开发者检查代码来发现并修复错误、改进质量和提高代码可读性。本文将深入探讨代码审查的理解、作用,并结合华为的代码...

    what to look for in a code review.pdf

    这本书对于提升软件开发过程中的代码质量具有极高的参考价值。作者Trisha Gee是一位经验丰富的开发者,她在书中分享了关于代码审查的重要技巧。 在进行代码审查时,我们需要考虑以下几个关键点: 1. **测试**:...

    80丨开源实战二(下):从Unix开源开发学习应对大型复杂项目开发1

    【代码审查】(Code Review) 是软件开发过程中的一项重要实践,尤其在面对大型复杂项目时,它的价值不可忽视。代码审查不仅仅是检查错误,更是提升团队协作、代码质量和工程师技能的有效手段。 1. **践行“三人行...

    Learning Gerrit Code Review

    《Learning Gerrit Code Review》这本书的作者Luca Milanesio是GerritForge的联合创始人兼董事,他在这个领域有着超过20年的发展管理、软件配置管理和软件开发生命周期管理方面的经验。他在加入GerritForge之前,...

    Code Review&JRuby on Rails

    《Code Review & JRuby on Rails》是一篇深入探讨代码审查与在Java平台上运用JRuby进行Rails开发的文章。本文主要围绕两个关键主题展开:代码审查的重要性及其实践方法,以及JRuby如何帮助Java开发者利用Ruby on ...

    ReviewCode-master.rar

    【标题】"ReviewCode-master.rar" 是一个压缩文件,通常包含了一个名为 "ReviewCode-master" 的项目或代码库。在IT行业中,这样的命名通常表示这是一个关于代码审查的项目,可能是为了教学、分享最佳实践或者是一个...

    best kept secrets of peer code review

    此外,它可能还讨论了历史上著名的软件缺陷案例,例如那个价值十亿美元的bug,以及为何这些案例并未能引起足够的重视。 2. 对代码审查的抵抗:这部分可能探讨了开发者对代码审查的抵触情绪,以及如何通过新工具的...

    all-about-code-review:这是有关代码审查的精选资源清单:文章,工具,培训。

    2. Reddit 的 r/Codereview:一个社区,开发者可以分享代码片段并获得同行的反馈。 六、持续集成与自动化审查 1. Jenkins、Travis CI 或 CircleCI 等持续集成工具可集成代码审查,自动运行测试,确保代码质量。 2. ...

    CodeReviewTest:学习github和gerrit的code review机会的测试项目

    【标题】"CodeReviewTest:学习github和gerrit的code review机会的测试项目"是一个旨在帮助开发者熟悉和掌握代码审查工具的实践平台,特别是针对github和Gerrit这两个广泛使用的开源版本控制系统。通过参与这个项目,...

    discourse-code-review:这允许将提交和拉取请求作为主题导入到Discourse中并进行审查

    首先,我们要理解"discourse-code-review"的核心价值。它将代码审查的过程从传统的代码编辑器或版本控制系统中抽离出来,融入到日常的社区交流环境中。通过这种方式,开发者可以在熟悉的Discourse界面内查看、评论...

    awesome-code-review:很棒的代码审查资源列表-文章,论文,工具等

    `awesome-code-review` 是一个汇集了众多优质代码审查资源的列表,包括文章、论文以及各种工具,为开发者提供了丰富的学习和实践材料。 一、代码审查的理论基础 1. **文章**:在列表中,你可以找到一系列关于代码...

    axlerant_code_review

    在“axlerant_code_review”项目中,检查代码是否符合这些规范是首要任务。 2. **错误处理和异常处理**:良好的错误处理机制可以预防程序在运行时崩溃。确保代码中有适当的错误报告和异常处理,使用try-catch语句...

    代码审核规范版本1.0

    **Code Review** 是一种重要的质量保障机制,在软件开发过程中占据着至关重要的地位。其核心目标在于: 1. **缺陷早期检测**:通过细致的审查,能够在项目的早期阶段发现潜在的BUG和问题点,从而降低后期修复成本。...

    Code Review Assistant-crx插件

    语言:English 帮助代码审阅者编写更快,更准确,...如今,代码审查令人痛苦且效率低下,导致数百万的生产力损失和价值无法获得。 代码审查助手通过结构化的React,标签和建议的注释,帮助编码人员编写更好的代码审查。

    Write Great Code Volume.2 Thinking Low Level Writing High Level.pdf

    1. **前五章**:根据《UNIX REVIEW》的评论,本书的前五章以及关于布尔逻辑的部分被认为是非常有价值的。这些章节为读者提供了必要的基础知识,帮助理解后续高级主题。 2. **机器内部工作原理**:书中详细介绍了...

Global site tag (gtag.js) - Google Analytics