zoukankan      html  css  js  c++  java
  • Review的概念与意义

    是什么让Google的程序如此优秀

    让Google的程序如此优秀的一个最重要的事情看起来是非常的简单:代码审查

    在Google,没有程序,任何产品、任何项目的程序代码,可以在没有经过有效的代码审查前提交到代码库里。


    从代码审查里能得到什么?

    •在代码提交前,用第二群眼睛检查一遍,防止bug混入。这是最常见的理解,也是它最不重要的一点。

    •代码审查的最大的功用是纯社会性的。如果你在编程,而且知道将会有同事检查你的代码,你编程态度就完全不一样了。你写出的代码将更加整洁,有更好的注释,更好的程序结构——因为你知道,那个你很在意的人将会查看你的程序。

    •还有一个非常重要的好处。代码审查能传播知识。通过代码审查,至少会有两个人熟悉这些程序——作者,以及审查者。审查者并不能像程序的作者一样对程序十分了解——但他会熟悉程序的设计和架构,这是极其重要的。


    代码审查最重要的一个原则:代码审查用意是在代码提交前找到其中的问题——你要发现是它的正确。在代码审查中最常犯的错误——几乎每个新手都会犯的错误——是,审查者根据自己的编程习惯来评判别人的代码。

    代码审查的第二个易犯的毛病是,人们觉得有压力,感觉非要说点什么才好。如果你总是力图找出一点什么东西来批评,你这样做的结果只会损害自己的威望。你的评论将不再被人重视。

    第三是速度。你不能匆匆忙忙的进行一次代码审查——但你也要能迅速的完成。你的同伴在等你。


    Review的概念与意义


    Review的概念

    ›在软件开发过程中邀请同行对工作产品进行审查,以图尽早查找出工作产品缺陷,进行质量控制的的一种质量活动。

    Review的意义
    ›降低返工(rework)的成本。

    ›越早开展对项目越有价值,推荐开展100% review,在代码完成一个类/函数和文档完成一个Story的分析设计时进行一次review。

    代码审查九字真言:
    1. 看见了If,就想Else。
    2. 看见malloc,就去找Free。
    3. 函数调用要小心,需要看看返回值。
    4. 看到for循环,就找边界值。
    5. 看见return要注意,要去前面找资源。
    6. 看见数组把神提,问题往往在下标。
    7. 不要小看字符串,长度是个大问题。
    8. 得到函数不要急,看看变量初始化,各种路径要小心。
    9. 赋值函数最危险,变量没有初始化。
    九句句真言不孤立,相互结合显神威。

    下面总结了在一个简单列表中最容易保持的11项实践方式:

    1、一次评审少于200--400行的代码。

    2、目标为每小时低于300-500LOC的检查速率。

    3、花足够的时间进行正确缓慢的评审,但是不要超过60-90分钟。

    4、确定代码开发者在评审开始之前就已经注释了源代码。

    5、为代码评审和获取制度建立可定量化的目标,这样您才能改进流程。

    6、使用检查列表,因为它可以极大地改进代码开发者和评审者得作品。

    7、确认缺陷确实得到修复了。

    8、培养良好的代码评审文化氛围,在这样的氛围中搜索缺陷被看做是积极的活动。

    9、警惕“老大哥”效应。(作为一个开发员,您可以自动假设“老大哥正看着您呢”是真的,如果评审制度是由评审支持工具自动评价的,更是这样的。)

    10、最少评审一部分代码,就是您不能评审全部的代码,以从Ego Effect(自我效能感)中受益。

    11、采用轻量级,能用工具支持的代码评审。

  • 相关阅读:
    商城项目开发(一)
    java基础
    SpringBoot笔记
    设计模式-创建型模式
    讲真的 曾惜
    Linux常用精简命令实训练习
    使用ZeroClipboard.js复制内容到剪贴板上
    浅谈Jquery中的bind(),live(),delegate(),on()绑定事件方式
    jQuery mouseover与mouseenter,mouseout与mouseleave的区别
    div中的img垂直居中
  • 原文地址:https://www.cnblogs.com/standy225/p/3914199.html
Copyright © 2011-2022 走看看