首页 > 其他分享 >实验4-代码审查

实验4-代码审查

时间:2024-05-13 11:22:56浏览次数:23  
标签:截图 审查 查表 作用域 代码 实验 flake8

一、实验题目 :代码审查

二、实验目的

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

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

三、实验内容

1、利用PyCharm环境;

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、制定代码走查表,提交代码格式审查表文件。

五、代码自动化格式审查结果截图
修改前:

修改后:

六、根据审查结果修改代码格式前后对比图(可以截取部分)

(1)警告1:缺失或空docstring检查

原因:
docstring是Python中的一种注释方式,主要用于描述函数、类、模块等的功能、参数、返回值等信息。它是一个字符串,在代码中使用三引号(''' 或 """)包裹;而缺失docstring,则是指在定义函数、类等时,没有使用这种注释方式,导致代码缺少必要的描述信息。

修改前的代码截图:

修改后的代码截图:

(2)警告2:取消缩进不匹配任何外部缩进级别

原因:
这个报错通常是由于代码中缩进不一致导致的。在 Python 中,缩进是非常重要的,它决定了代码块的开始和结束。如果你在一个代码块中使用了不同的缩进级别,就会出现这个错误。

修改前的代码截图:

修改后的代码截图:

(3)警告3:正在从外部作用域隐藏名称

原因:
在Python中,从外部作用域隐藏名称是指在内部作用域中定义一个与外部作用域中同名的变量、函数或类,从而隐藏了外部作用域中的同名标识符。这种情况下,当在内部作用域引用该名称时,将使用内部作用域中的定义,而不是外部作用域中的定义。
修改前的代码截图:

修改后的代码截图:

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

  • 问题一:命名不规范
    解决方法:填写代码走查表的时候需要了解规范要求,参考了老师发的编码规范,如PEP 8(Python编码规范)。PEP 8提供了关于命名规范、缩进、代码布局、注释等方面的知识。
  • 问题二:全局变量和局部变量区分不明显。
    解决方法:避免在函数中使用全局变量,可以使用函数的返回值来传递数据。提高代码的可读性和可维护性。

八、代码走查表



九、码云链接
https://gitee.com/hongqq900781/code-review/issues/I9ORSN

标签:截图,审查,查表,作用域,代码,实验,flake8
From: https://www.cnblogs.com/HongQQ/p/18184356

相关文章

  • struts实验
    JavaEE架构程序设计实验作业实验名称:利用JSP+Struts2+JDBC+Mysql校园宿舍管理系统一、实验项目功能增加了学生登录系统的评价和建议功能,学生可以书写对学校宿舍或者管理员的评价和建议。可以进行修改和删除。管理员登录系统可以查看所有的评鉴和建议,可以按照宿舍楼号查询对应......
  • Visual Studio中的四款代码格式化工具
    前言今天大姚给大家分享四款VisualStudio中的代码格式化工具、扩展插件。大家可以在VisualStudio中的管理扩展或者插件市场下载安装。代码格式化工具的作用自动调整代码的布局和风格,以确保代码具有统一的格式,提高可读性并减少潜在的错误。VisualStudio中的管理扩展插件市......
  • 音乐格式转换:java代码实现
    1packageutil;23importws.schild.jave.*;4importjava.io.File;56/*7音乐格式转换8<dependency>9<groupId>ws.schild</groupId>10<artifactId>jave-core</artifactId>11<version>2.4.4</versi......
  • 自然语言处理第一次实验结果
    C:\Users\漫卷\AppData\Local\Programs\Python\Python38\python.exeC:\Users\漫卷\Desktop\作业\NLP\first_try\Ch03ProcessingText\3.1_cutting_chinese_words_2.pyBuildingprefixdictfromthedefaultdictionary...LoadingmodelfromcacheC:\Users\漫......
  • CodePen 的国内替代「笔.COOL」,一个功能完备、使用便捷的在线HTML代码编辑和作品分享
    笔.COOL,是一个在线HTML代码编辑和作品分享平台。笔.COOL提供了一个在线的HTML、CSS和JavaScript代码编辑器。无需任何安装,你只需打开网站,就可以开始编写前端代码。编辑器支持代码高亮、自动补全等功能,提高编码效率。笔.COOL还提供了实时预览功能,预览界面会随着你的代码更......
  • 实验4:代码审查
    一、实验题目:代码审查二、实验目的1、熟悉编码风格,利用开发环境所提供的平台工具对代码进行自动格式审查;2、根据代码规范制定代码走查表,并按所制定的审查规范互审代码。三、实验内容1、IDEA环境和PyCharm环境二选一;IDEA环境(1)预先准备在IDEA环境下实现对输入的n个整数进行......
  • 实验二 电子公文传输系统安全——读书笔记
    《The.Security.Development.Lifecycle.CN.软件安全开发生命周期》第一部分对SDL的需求隐私与安全:隐私可以看作是遵守策略的一种方式,安全则看做是一种执行策略的方式。隐私问题的核心是符合监管部门的要求、公司策略和客户期望。关于安全还需要考虑的一个因素是与客户签订的服......
  • csapp_实验_-__datalab
    Datalab前言该实验是《深入理解计算机系统》(英文缩写CSAPP)课程附带实验——Lab1:DataLab,对应书中第二章内容(信息的表示和处理),是所有实验中的第一个实验,**实验目的**datalab实验提供了一个文件夹,我们的目的只是改写bits.c中的15个函数,使其完成相应的功能即可。至于其他文件......
  • 实验三 软件测试
    一、实验题目:软件测试二、实验目的 1、熟悉开发环境下的自动化测试工具;1、利用自动化测试工具进行自动化单元测试。三、实验内容1、选择开发环境,IDEA或PYCHARM任选其一;2、基于所选择的开发环境实现对输入的n个整数进行排序的代码;3、对所编写代码设计测试用例;4、基于所选......
  • 多版本同时维护的 Bug 修复源代码保存方案
    问题描述在日常维护系统的过程中,我们经常需要修复他人提交的Bug(因为自己写的都是feature嘛)。对于单个线上版本的项目,我们可以轻松地创建一个bug修复分支,修复完成后再将其合并到主分支即可。然而,当系统同时存在多个线上版本时,比如V1.0.1、V1.0.2、V1.0.3、V1.1.0等,或者需......