实验4:代码审查

news/2024/9/30 13:17:38

一、实验题目 :代码审查

二、实验目的

1、熟悉编码风格,利用开发环境所提供的平台工具对代码进行自动格式审查;

2、根据代码规范制定代码走查表,并按所制定的审查规范互审代码。

三、实验内容

1、IDEA环境和PyCharm环境二选一;

IDEA环境

(1)预先准备在IDEA环境下实现对输入的n个整数进行排序的代码;

(2)利用Alibaba代码规约插件,对所编写代码进行自动化格式审查。

 https://blog.csdn.net/larner/article/details/120894045

PyCharm环境

(1)预先准备在PyCharm环境下实现对输入的n个整数进行排序的代码;

(2)利用Code Inspections对代码进行自动格式审查。

步骤如下:在Python中,可以使用pylint或flake8等工具来进行代码审查。以下是一个使用flake8的例子:首先,安装flake8:pip install flake8然后,在命令行中运行flake8对代码进行审查:flake8 your_script.py这将输出代码中潜在的问题,包括不符合PEP 8标准的代码风格和潜在的错误。如果你使用的是IDE,比如PyCharm,可以直接在IDE中运行代码审查:打开你的Python文件,右键点击文件名,选择"Code" -> "Run Inspection by Name..."".输入flake8,然后按下回车键,或者选择flake8的图标。根据需要调整flake8的规则或者添加插件来满足特定项目的代码审查需求。这样,IDE会在下方的"Run"窗口中显示代码审查的结果。

2、2人一组根据代码规范制定代码走查表;

3、按所制定的代码走查表,小组内互相审查所编写的代码,并将审查结果填写到代码审查表中。

四、实验要求

1、预先准备的代码要求独立编写,严禁抄袭,具体排序算法可以自由选择一种;

2、利用自动化格式审查工具对代码进行格式审查,截取格式审查结果,并针对审查结果逐一进行修改;

3、制定代码走查表,提交代码格式审查表文件。

五、代码自动化格式审查结果截图
本次实验采用的排序方法是“冒泡排序”,针对这种排序方法的代码进行了代码自动化格式审查,审查结果出现了一下问题,截图如图所示:
image

六、根据审查结果修改代码格式前后对比图(可以截取部分)
对以上出现问题的代码进行修改,将修改完的代码结果如图所示:
(1)问题是无法解析符号‘Assert’和“Test”,解决方法是:将以上没有用到的符号去除掉,对比如图所示:


(2)问题是在程序运行时,缺少必要的符号。解决问题的方法是,添加相对应的符号,保证程序代码的正确性,对比结果如图所示:

(3)问题是main缺少注释的警告,解决方法是按照相应步骤添加注释,对比结果如图所示:

image

最终实验的代码问题被完全解决,正确的代码如下:

七、实验中遇到的问题及解决方法

(1)缺少变更的说明:代码变更时,缺乏必要的注释和说明,使得其他开发人员难以理解代码变更的目的和影响。
解决方法:补充注释和变更说明:确保在代码变更时添加必要的注释和说明,解释变更的原因、目的和影响。
(2)在程序运行的过程中,可能会缺少必要的符号,需要审查,并且添加修改。
(3)在编写程序时,不能添加过多此程序无法用到的符号,可能会存在一些兼容的问题。
(4)在编写程序时,要养成良好的注释习惯,以便于自己和他人的查看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/29819.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

实验四—代码审查

一、实验题目 :代码审查 二、实验目的 1、熟悉编码风格,利用开发环境所提供的平台工具对代码进行自动格式审查; 2、根据代码规范制定代码走查表,并按所制定的审查规范互审代码。 三、实验内容 1、IDEA环境和PyCharm环境二选一; IDEA环境 (1)预先准备在IDEA环境下实现对输…

Maven多模块工程提示其它模块依赖找不到(明明已经添加)

查看有没有重复标记文件夹!!!(我的就是这样)

Html转C#/JSP代码工具

Html转C#/JSP代码工具为您提供在线Html转换为Jsp和C#代码,Jsp代码,Html转C#,Html转.Net,Html转Jsp,在线Html转Jsp代码,HTML与JSP和C#,.Net代码在线转换,使用这个Html在线转换工具,能得到拼接好代码等 免费工具地址:http://tools.linuxsou.com/html2php/ 千行代码,Bug何处藏。…

python的多继承中的方法重写

前言 多继承势必要解决同名属性冲突。今天测试一下。 正文 左右同名(左侧优先)当左侧基类和右侧基类中存在同名方法时,不管是否包含重写,都是左侧优先。今天主要探讨的是,左侧基类中不直接包含同名方法。约定我们约定,下面的标题情况全都是在左侧基类不直接包含同名方法的。…

【自动化测试】关键字驱动接口自动化测试

1. 概念:  在软件测试领域,"数据驱动"和"关键字驱动"是两种自动化测试的设计模式, 它们都旨在提高测试效率,减少重复劳动,但它们的实现方式和应用场景有所不同。(1) 数据驱动(Data-Driven Testing, DDT):**优点**     a. 可变数据:测试数据的…

实验四-代码审查

一、实验题目 :代码审查 二、实验目的 1、熟悉编码风格,利用开发环境所提供的平台工具对代码进行自动格式审查; 2、根据代码规范制定代码走查表,并按所制定的审查规范互审代码。 三、实验内容 1、IDEA环境和PyCharm环境二选一; IDEA环境 (1)预先准备在IDEA环境下实现对输…

json在线解析及格式化工具

JSON 可以将程序语言对象中表示的一组数据转换为字符串,然后就可以在网络或者程序之间轻松地传递这个字符串,并在需要的时候将它还原为各编程语言所支持的数据格式,例如在 PHP 中,可以将 JSON还原为数组或者一个基本对象。在用到AJAX时,如果需要用到数组传值,这时就需要用…

Docker 桥接模式下端口映射会绕过防火墙

问题描述 使用Docker桥接模式启动了一个MySQL容器 查看防火墙发现并未开启3306端口,但该宿主机3306端口仍能被第三方机器访问telnet 152.51.32.11 3306 问题本质 Docker 在进行端口映射时,已经自动使用iptables命令修改了防火墙规则;并且这个规则不会被ufw显示、管理;甚至…