实验四 代码评审

一、实验目的

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

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

二、实验内容及要求

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 (1)下载pylint代码审查插件

  在命令行里输入pip3 install pylint就可以自动下载pylint脚本,如果显示没有无pip命令,可能是没有配置python环境变量,或者进入Python\Scripts文件夹使用pip

 

我之前已经安装好了,所以没有下载。完成安装后,配置pycharm。打开pycharm,选择File->Settings->Tools,然后找到external tools创建一个新的工具

 

 注意这里的program是刚刚安装好的pylint,默认地址在python\scripts里,argument填‘$FilePath$’。

 安装完成后在菜单栏tool中可以看到多出了external tool,可以测试一下pylint是否安装成功

 

安装成功

 

还有一种方法是在File/settings/plugin中直接搜索pylint,直接下载即可,两种方法我都试过了,第二种配合pycharm更好用。具体配置在这https://github.com/leinardi/pylint-pycharm

(2)代码审查

 打开项目,然后选中项目,在下方的pylint工具栏中选择project scan

 

 

 查阅资料后将问题总结如下:

序号  错误类型  含义 报错数量
1
  • Module nameconform to snake_case naming style  [invalid-name] 
无效的命名格式  1
2
  • Missing module docstring [missing-module-docstring] 
  • Missing function or method docstring  [missing-function-docstring] 
缺少模块、函数说明  10
3
  • standard import "import sys" should be placed before "import pygame"  [wrong-import-order] 
错误的导入顺序   1
4
  • Consider using enumerate instead of iterating with range and len [consider-using-enumerate]   
考虑使用字典和枚举  2
5
  • Module 'pygame' has no 'init' member  [no-member] 
包中没有此成员 3

通过github issues向项目维护者提交问题(issue)

 

 

 

 

 三、实验小结

1、在此次实验中,我学会了使用安装代码审查工具pylint,同时也了解到其他的工具,我也使用了java的代码规范工具检查了自己的代码,了解一些公司的代码规范。

2、检查出的规范问题后,我查阅里相关资料,了解了很多解决问题的方法,收获很多

3、在日后的编写代码中,要习惯代码规范,这样才能写出正取高效且适合团队的代码

 

posted @ 2020-05-13 13:02  素质教育漏网之鱼  阅读(291)  评论(0编辑  收藏  举报