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

    一、实验目的

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

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

    二、实验内容及要求

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    三、实验过程

    (1)配置代码审查工具。要求采用屏幕截图的方式配置的过程;

    从网上下载Python脚本cpplint.py

    下载python2.7并配置环境:

    之后打开CMD输入命令:

     其中cs.cpp为要测试的代码

    (2)使用工具对原始代码进行评审和分析,记录结果,期间不要有任何修改;

    所查仓库地址为:https://github.com/ouou-hub/my-travel-plans

    审查后最后有367条不规范

     

    (3)对工具执行结果进行人工分析,结合检查清单和人工走查的出代码修改建议;

    根据查阅资料,对最常出现的不规范进行查找:

    1、Missing spaces around =  [whitespace/operators] :周围缺少空格。

    2、Tab found; better to use spaces  [whitespace/tab] :找到制表符;最好使用空格[空格/制表符],该用空格的地方使用了制表符。

    3、Missing space after ,  [whitespace/comma]:[空格/逗号]后缺少空格

    4、At least two spaces is best between code and comments:代码和注释之间至少有两个空格,注释不规范。

    5、Line ends in whitespace.  Consider deleting these extra spaces.  [whitespace/end_of_line]:行以空白结尾。考虑删除这些额外的空间。

    6、Line contains invalid UTF-8 (or Unicode replacement character).:行包含无效的UTF-8(或Unicode替换字符)。

    7、 Consider using rand_r(...) instead of rand(...) for improved thread safety.  [runtime/threadsafe_fn]:考虑使用rand_r(…)而不是rand(…)来提高线程安全性。[运行时/线程安全]

    8、{ should almost always be at the end of the previous line  [whitespace/braces]:{几乎总是在前一行的末尾[空格/大括号],符号位置不规范

    (4)通过github issues向项目维护者提交问题(issue),注意一个issue 只报告一个问题,多个问题需放在多个issue中,以便跟踪。

    通过第三题的内容在GitHub上进行了提交。

    (5)记录总结实验过程中遇到的问题和解决过程

      一开始使用的python版本为最新的3.8,发现对于cpplint.py不能兼容,于是下载了2.7版本后就可以运行了。对于报出来的不规范的问题都是英文的,但是大多数都是重复的问题,所以从网上进行了翻译,查出了不规范的地方是什么。

      使用代码检查工具可以让代码更清晰整洁,方便观看。

  • 相关阅读:
    轻量级数据库sqlite的使用
    Integer引发的思考
    css限制显示行数
    数据库 chapter 17 数据仓库与联机分析处理技术
    数据库 chapter 15 对象关系数据库系统
    数据库 chapter 16 XML数据库
    数据库 chapter 14 分布式数据库系统
    数据库 chapter 11 并发控制
    数据库 chapter 12 数据库管理系统
    数据库 chapter 13 数据库技术新发展
  • 原文地址:https://www.cnblogs.com/014wangxu/p/12874841.html
Copyright © 2011-2022 走看看