码迷,mamicode.com
首页 > 其他好文 > 详细

实验四 代码评审

时间:2020-05-13 16:56:33      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:查看   掌握   重要   install   产品   规则   creat   eclipse   重启   

一、实验目的

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

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

二、实验内容及要求

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

java语言      

- 采用使用eclipse Checkstyle插件 

- CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。它能够自动化代码规范检查过程,从而使得开发人员从这项重要但枯燥的任务中解脱出来。它可以根据设置好的编码规则来检查代码。比如符合规范的变量命名,方法体的最大行数,重复代码检查等等。

如果你使用idea ,可以使用Alibaba Java Code Guidelines插件,参考链接如下:https://github.com/alibaba/p3c/wiki/IDEA%E6%8F%92%E4%BB%B6%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3

技术图片

C++语言

- 可使用Google代码规范工具Cpplint。

- Cpplint是一个python脚本,Google使用它作为自己的C++代码规范检查工具,VSCcode可配置Cpplint对C++代码进行规范检查。

python

- 可采用pylint

- Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准(Pylint 默认使用的代码风格是 PEP 8,具体信息,请参阅参考资料)和有潜在问题的代码。目前在 eclipse 的 pydev 插件中也集成了 Pylint,VSCcode可安装pylint插件

    当发现了项目存在的问题后,可通过Bug跟踪系统向项目维护者反馈问题(issue),管理Issue的系统称为BTS(Bug Tracking System,Bug跟踪系统)。当今具有代表性的BTS有Redmine、Trac、BugZilla等。GitHub自身也加入了BTS的功能。在GitHub上,可以将它作为软件开发者之间的交流工具。通过github的issues功能开发者可以便捷的发现软件的BUG并报告,想向项目所有人询问或用来追踪各种想法探讨准备实施的任务。

三、实验过程

1.代码评审项目地址:https://github.com/heguohang/pair_programming

 

2.克隆项目到本地

技术图片

 

 3.安装PyDev插件

技术图片技术图片

 点击eclipse中Help菜单,点击Install New SoftWare...一栏,点击Add...按钮,Name输入PyDev,Location输入http://pydev.org/updates

 

 技术图片技术图片

选择PyDev,然后一路Next,进入安装路径选择界面,使用默认设置,然后 Finish。Eclipse将下载 PyDev,可以从 Eclipse任务栏中看到下载的进度。PyDev安装好后,需要重启Eclipse。

 

4.配置插件

技术图片

在 Eclipse 菜单栏中,选择Window > Preferences > Pydev > Interpreters – Python Interpreters,在此配置 Python。(如果不能找到Pydev,则需要将java的jdk更新到最新版本)点击右侧Config first in PATH,然后点击Apply and Close。

 

5.打开PyDev中的PyLint功能

技术图片

 PyLint默认禁用,需要手动打开,在 Eclipse 菜单栏中,选择Window > Preferences > Pydev > Editor > PyLint,勾选右侧Use PyLint选项,将下面选项为Ignore的更改为Warning,使PyLint检查的更严格。

 

6.创建PyDev项目编辑python程序

技术图片  技术图片技术图片

 在 Eclipse 菜单栏中,选择File > New > Other,PyDev文件夹中的PyDev Project,选择项目类型为python,勾选Create ‘sec‘ folder and add it to the PYTHONPATH选项,创建python源程序,将克隆到本地的代码审查文件复制到创建的文件夹src。

 

7.代码审查

 技术图片技术图片技术图片

技术图片

 鼠标右击需要代码审查的文件,选择PyDev > Code analysis,即可审查代码。按下Ctrl + 3,在弹出的窗口中输入problems,选择Show In(Problems),即弹出窗口显示错误。

 

7.1 常量名不符合大写命名样式

技术图片

 

7.2 缺少函数文档字符串

技术图片

 

7.3 缺少模块文档字符串

技术图片

 

7.4 从外部作用域重新定义了变量

技术图片

 

7.5 尾随空白,代码行与行之间有空行

技术图片

 

 7.6 变量命名不符合蛇形命名法

技术图片

 

7.7 存在未使用的变量

技术图片

 

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

       代码可以正常运行,并未出现错误导致程序无法运行,程序完成了实验要求,并且每个模块有代码注释,加强了代码可读性,测试也较为方便。然而根据PyLint检查得出的结果看来,有很多不规范的地方,对于不久就要踏出社会的我们来说需要重视这些代码规范,摒弃我们个人独特的代码习惯,融入群体,加强群体代码融入性。

       修改建议:

  • python常量命名应该使用大写;
  • 应该定义函数和模块的文档字符串,可以在函数体的第一行使用一对三个单引号 ‘‘‘ 或者一对三个双引号 """ 来定义文档字符串;
  • 函数内部变量不应该在外部作用域被重定义;
  • 同一模块内的代码行与行之间不该有空行;
  • python变量命名应符合蛇形命名法;
  • 不能存在未使用的变量。

        

9. 提交issue

    经过小组讨论,代码清晰易懂,除了PyLint检查出的警告,无其他错误,提交了相应issue

 技术图片

 

10. 记录总结实验过程中遇到的问题和解决过程

      一开始使用VsCode,想要下载PyLint插件,但是在VsCode中查找不到PyLint插件,只好使用eclipse下载PyDev插件。网上查询资料下载PyDev插件,查找的相关资料不多,并且出现了与资料情况不同的现象,同时eclipse又是英文界面,甚至还要查字典查单词,所以摸索的过程很艰难,最终借助eclipse中PyLint界面的官方链接查看资料后,终于明白如何使用PyLint进行代码审查完成实验。

 

四、实验小结

       第一次使用IDE的插件来进行代码审查,以前从未了解过相关方面的知识,并且IDE又是英文界面不易理解,导致实验进展缓慢,不过在明白如何使用插件以后,才懂得这些插件的强大功能与重要性,也意识到了我们平时编写代码是多么的不规范,编写代码最好不要带有强烈的个人习惯,毕竟未来是要团队合作书写代码,我们应该现在就培养起根据规范书写代码的习惯。

实验四 代码评审

标签:查看   掌握   重要   install   产品   规则   creat   eclipse   重启   

原文地址:https://www.cnblogs.com/rjemotion/p/12881901.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!