1、了解代码审查的含义;
2、掌握相关编程规范检查工具的安装与使用;
Code Review中文应该译作“代码审查”或是“代码评审”或“代码复查”,是指通过阅读代码来检查源代码与编码标准的符合性以及代码质量的活动。Code Review主要用来在软件工程过程中改进代码质量,通过代码评审可以达到如下目的:
●在项目早期就能够发现代码中的BUG
●帮助初级开发人员学习高级开发人员的经验,达到知识共享
●避免开发人员犯一些很常见,很普通的错误
●保证项目组人员的良好沟通
●项目或产品的代码更容易维护
代码评审主要内容是编程规范,重构方法,架构设计,性能安全,日志,可读性,扩展性等问题。通过代码评审可查找和修复引入到开发阶段的应用程序的错误,提高软件的整体素质和开发者的技能。代码评审的作用和意义已在很多技术团队内达成共识,可是很多时候并未被有效执行,甚至被认为是一项费时费力的工作。借助一些工具可以更容易,更有效率地来进行Code Review。
1、以小组形式,针对前面“实验一”中所完成的代码,进行代码评审(走查),重点检查以下情况。你也可有查询相关材料,建立更细化的检查清单(check list)
2、按“实验二”的分组方式,两人一组,随机分配另一组的代码作为本组评审和分析的对象
通过被审查小组的仓库复制程序代码,确定代码审查工具
由于代码是由C++编写的,所以我们选择Google代码规范工具Cpplint。
上网查阅资料知,Cpplint是一个python脚本,可以作为VS的一个插件检查代码规范。
由于自己的电脑之前已经安装了python,所以无需重新配置python环境。
电脑进入命令行,输入pip install cpplint,可以直接下载Cpplint插件。
找到cpplint.exe下载后的位置
打开VS2017,点击"工具"->"外部工具"->"添加",添加Cpplint插件,注意"命令"中填入cpplint.exe的位置,如下图所示:
用VS2017打开源程序,并用Cpplint审查代码
通过Cpplint审查,代码规范问题众多,通过仔细查找,发现大概有这些问题提示:
(1)Do not use namespace using-directives. Use using-declarations instead.
不能用std全部空间,建议使用具体用到的函数
(2)Should have a space between // and comment
应该在//和注释之间有一个空格
(3)At least two spaces is best between code and comments
代码和注释之间最好至少有两个空格
(4){ should almost always be at the end of the previous line
"{"在前一行的末尾
(5)Line ends in whitespace. Consider deleting these extra spaces.
代码行最后存在空格,考虑删去这些空格
(6)Redundant blank line at the end of a code block should be deleted.
应删除代码块末尾的多余空行
(7)Consider using rand_r(...) instead of rand(...) for improved thread safety.
考虑使用rand_r(…)而不是rand(…)来提高线程安全性。
(8)Lines should be <= 80 characters long
行长度应<=80个字符
(9)An else should appear on the same line as the preceding }
else应该与前面的"}"出现在同一行上
(10)Tab found; better to use spaces
找到制表符;最好使用空格
(11)Missing space after
逗号后缺少空格
(12)private: should be indented +1 space inside class CWorld
private:应该在类CWorld中缩进+1个空格
(13)public: should be indented +1 space inside class CWorld
public:应在类CWorld中缩进+1个空格
将上述代码规范问题进行分析,可以得到这几类:
(1)每行长度不得80字符
(2)使用更安全的函数
(3)注意代码缩进,用空格代替Tab
(4)"{"应在上一行结尾,不应另起一行
(5)"else"应在上一行的"}"后面,不应另起一行
(6)使用逗号应与前后字符间距一个空格
(7)在代码后添加注释时,"//"应与前面的代码间隔两个空格,与后面的注释间隔一个空格
(8)删去代码行末尾的空格以及代码间多余的空行
找到代码的规范问题之后,通过项目仓库提交问题
在VS2017下配置Cpplint工具时,在“命令”行需要正确填写Cpplint在自己电脑的位置。又由于初次输入“参数”时不明白其具体含义,填写不正确,导致运行Cpplint时不显示问题,后来根据教程重新输入正确的参数才显示Cpplint代码规范提示。
通过Cpplint检查代码规范时,显示了许多英文提示,有些看不明白,查阅资料并尝试自己修改代码规范问题才了解英文提示的具体含义。
在本次实验中,我学会了Cpplint的安装以及在VS2017中的配置方法,学会利用Cpplint来对C++代码进行代码规范审查,让我对代码规范有了进一步的了解。实验前我认为代码规范问题每个人都会有几个,但通过对其他小组的审查,发现问题不少,而大多数问题我在敲代码时也会出现.这些问题常常被我忽略,但通过这次实验让我印象格外深刻,让我在以后的编写过程中能更加规范自己的代码。
原文:https://www.cnblogs.com/ziyanxingchen/p/12883827.html