zoukankan      html  css  js  c++  java
  • 实验四、代码审查

                                               实验四 代码评审

    一、实验目的

    1) 了解代码审查的含义;

    2) 掌握相关编程规范检查工具的安装与使用;

    二、实验内容及要求

    Code Review中文应该译作“代码审查”或是“代码评审”或“代码复查”,是指通过阅读代码来检查源代码与编码标准的符合性以及代码质量的活动。Code Review主要用来在软件工程过程中改进代码质量,通过代码评审可以达到如下目的:

    ●在项目早期就能够发现代码中的BUG

    ●帮助初级开发人员学习高级开发人员的经验,达到知识共享

    ●避免开发人员犯一些很常见,很普通的错误

    ●保证项目组人员的良好沟通

    ●项目或产品的代码更容易维护

         代码评审主要内容是编程规范,重构方法,架构设计,性能安全,日志,可读性,扩展性等问题。通过代码评审可查找和修复引入到开发阶段的应用程序的错误,提高软件的整体素质和开发者的技能。代码评审的作用和意义已在很多技术团队内达成共识,可是很多时候并未被有效执行,甚至被认为是一项费时费力的工作。借助一些工具可以更容易,更有效率地来进行Code Review。

    1、以小组形式,针对前面“实验一”中所完成的代码,进行代码评审(走查),重点检查以下情况。你也可有查询相关材料,建立更细化的检查清单(check list)

    - 程序是否能正常工作,代码是否实现预期的功能,逻辑是否正确。

    - 代码是否遵循的编程规范

    - 代码是否尽可能的模块化

    - 所有的数据输入是否都进行了检查

    - 是否有注释,并且描述了代码的意图

    - 代码的可理解性和可测试性

    2、按“实验二”的分组方式,两人一组,随机分配另一组的代码作为本组评审和分析的对象

    一些编码规范的检查工具如下,也可自行查找工具使用。

    三、实验过程

    1、安装审查工具(因为需要审查的代码是Java,故选择eclipse中的审查工具checkstyle)

    (1)选择help->install New Software->添加审查工具

    打开需要审查的文件,开始审查

     

    (2)下载打开需要审查的文件

               本次审查的代码是生命游戏,因为之前我们组做的是四则运算,所以对其代码不是很熟悉。我们先下载并人工阅读了一遍代码,对整个代码有了基本的了解。但是一开始在运行时报错很多。我们与该组的组员联系了,询问他们在运行过程中是否也出现了大量报错。经过核实是我们的eclipse没有安装jdk,也缺少了一些头文件。阅读了整体代码以及运行了整个程序后,我们开始了代码审查。

    (3)代码审查

    这是我们审查的结果。

    其中缩进问题最为严重,一个5个文件,其中有连个文件大面积的缩进问题。我们只截取了部分缩进问题,因为确实有点多(捂脸哭

     出了缩进问题,内含tab键的问题也较多

     还有一些个别问题,就不一一列举。

    本来准备弄一个表格统计错误类型及个数的,但是一共五个文件,个别文件有大量的缩进及内含tab键问题。所以就......

    四、实验小结

    1.我们再实验过程中,队友一直说,其实不是什么大问题,代码可以运行正确。确实说问题大也不大,修改意见也无非就是注意缩进、注意不要内含tab键、不要一行字数过多......

    修改一个issue很简单,但是如果整个代码有大面积的这种小问题,无论是对看代码的人还是修改代码的人都十分费劲,还是需要多加注意的。

    2.在实验过程中,我们也收到了我们代码的issue邮件。我们也有一些issue。之前在编写代码的时候,我也会注意一些格式,但是没有什么硬性的注意格式。只是纯粹的觉得不好看,注意一下会美观一些。但是经过这次代码审查,我真的意识到代码规范的重要性,会大大节约阅读人的时间。还有注释,之前懒得写太多字,注释写的过于简单,以利于审查人查看和理解代码。总的来说,这次实验不仅教会了我们如何审查代码,也让我们意识到代码规范的重要性,在以后编写代码的时候更加注意代码规范。

  • 相关阅读:
    Compiler Warning C4150: deletion of pointer to incomplete type 'XXX'; no destructor called
    What happend: Exception throws in the .ctor()?
    FocusScope学习一: Logic Focus与Keyboard Focus
    线性筛prime,强大O(n)
    网络流24题方格取数
    splay(1区间翻转区间最值与区间修改)
    排列组合容斥原理
    错排思路
    splay2(区间修改+内存回收)
    DP_1d1d诗人小G
  • 原文地址:https://www.cnblogs.com/wjin/p/12867537.html
Copyright © 2011-2022 走看看