首页 > 其他 > 详细

实验四 代码评审

时间:2020-05-14 12:37:46      阅读:51      评论:0      收藏:0      [点我收藏+]

一、实验目的

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

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

二、实验内容及要求

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

三、实验过程

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

1 安装PC-lint
(1)下载PC-lint。
(2)将下载的压缩包解压至到D盘,并对文件夹重命名为PC-Lint。

2 将PC-lint集成到VC6.0
 对单个C/C++进行静态代码分析
(1)将D:\PC-Lint\lnt 下的3个文件lib-w32.lnt,env-vc6.lnt,co-msc60.lnt复制到D:\PC-Lint\下。

技术分享图片

(2)打开co-msc60.lnt,将该文件倒数第二行"lib-ole.lnt"的内容改为"D:\PC-Lint\lnt\lib-ole.lnt",也就是在前面加上绝对路径,以免在后面的步骤中无法找到该文件。

技术分享图片

(3)在D:\PC-Lint\下创建std.lnt和options.lnt两个文件,其中std.lnt的内容如下:

注:-i后面的路径名为VC 6.0的安装路径和及其头文件路径;

技术分享图片

技术分享图片

options.lnt可以暂时为空。
(4)在VC6.0的菜单栏中,Tools--->Customize...-->tools 新建一个名为pclint的项,在下面填入
"Command"项填入: D:\PC-lint.9.0\PC-lint.9.0\DOS-ins\lint-nt.exe
"Argument"项填入: -u D:\PC-Lint.9.0\std.lnt  D:\PC-Lint\env-vc6.lnt "$(FilePath)"
然后在Use Output Window 打上勾即可。

 

 技术分享图片

(5)在VC6.0的菜单栏Tools下多了一个pclint选项,打开一个VC项目后,就可以使用该选项对单个C/C++文件进行静态代码分析了。

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

 技术分享图片

 

技术分享图片

 

 error 661:可能访问越界的指针

error718:‘Symbol‘符号没有定义,假定返回int

error746:调用函数时没有函数原形

error831:引用在前面的信息中

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

经过分析发现在同一行代码长度、缺失空格、语句末尾未换行、有多余参数以及变量等命名不规范等失误。

不鼓励使用流。 不要使用流, 除非是日志接口需要. 使用 printf 之类的代替。

代码和注释之间最好有空格。

else应该与前面的}出现在同一行上。

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

技术分享图片

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

在pc-lint的配置过程中遇到了许多的错误如文件路径填错或者找不到文件问题如下:

D:\PC-lint.9.0\co-msc60.lnt(244) : Error 307: Can‘t open indirect file
‘D:\PC-lint.9.0\lnt\lib-ole.lnt‘
Tool returned code: 2

但都在进一步的检查中找到的错误并完成了PC-lint的配置

实验小结

通过这次试验我发现有的代码虽然可以运行但是还会有许多未发现的错误所以在以后的代码编写过程中要规范代码的书写

实验四 代码评审

原文:https://www.cnblogs.com/lv000/p/12881272.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!