一、实验题目 :代码审查
二、实验目的
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