首页 > 其他分享 >实验四:代码审查

实验四:代码审查

时间:2024-05-13 17:32:16浏览次数:17  
标签:审查 代码 冒泡排序 实验 格式 排序 flake8

一、实验题目 :代码审查

二、实验目的

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

五、代码自动化格式审查结果截图

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

前:

后:

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

1.理解算法逻辑:
首先,审查代码之前要深入理解冒泡排序的基本原理。冒泡排序通过重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
2.代码的可读性:
审查代码时,我注意到代码的可读性非常重要。变量名应该具有描述性,注释应该清晰且准确。例如,使用i和j作为循环变量在简单循环中是可以的,但在更复杂的算法中,使用如outerLoopIndex和innerLoopIndex这样的变量名可能会更具可读性。
3.边界条件与错误处理
在冒泡排序中,要确保所有的边界条件都被正确地处理。例如,确保循环的起始和结束索引是正确的,以及处理空数组或只有一个元素的数组时的情况。此外,虽然冒泡排序本身不会抛出异常,但在实际项目中,可能需要添加一些错误处理机制来处理不可预见的输入。
4.性能优化:
冒泡排序虽然简单,但效率并不高。在审查代码时,我思考了如何优化算法。例如,如果在某次遍历中没有发生任何交换,那么数组已经是有序的,可以提前结束排序。这种优化被称为“短路冒泡排序”。
5.测试:
审查代码时,我检查了是否有足够的测试用例来验证代码的正确性。对于冒泡排序,至少需要测试空数组、已排序数组、逆序数组和随机数组等场景。
6.代码风格与规范:
审查代码时,我也关注了代码风格和规范。例如,缩进是否一致,大括号是否成对出现,以及是否遵循了团队的编码规范。
7.可扩展性与可维护性:
虽然冒泡排序是一个简单的算法,但在审查代码时,我也思考了如何使其更具可扩展性和可维护性。例如,可以考虑将排序逻辑封装到一个单独的函数中,并为其添加文档注释。

gitee链接:https://gitee.com/aria125/myproject

八、代码走查表

标签:审查,代码,冒泡排序,实验,格式,排序,flake8
From: https://www.cnblogs.com/ariaZhang/p/18185145

相关文章

  • 分享一个树级结构数据,自动生成各个层次节点的code代码方法,优势在于可以在获取到子级的
    publicclassOrgCodeHierarchy{privatestaticfinalintMAX_SEQUENCE=999;privatestaticfinalStringALPHABET="ABCDEFGHIJKLMNOPQRSTUVWXYZ";privatestaticMap<String,Boolean>existingOrgCodeMaps=newHashMap<>()......
  • 代码随想录算法训练营day06 | 242.有效字母异位词
    242.有效的字母异位词题目链接文章讲解视频讲解时间复杂度o(n)空间复杂度o(n)classSolution{public:boolisAnagram(strings,stringt){unordered_map<char,int>s_map,t_map;for(charch:s)s_map[ch]++;for(charch:t)t......
  • 测试人员都是画画大神,让我看看谁还不会用代码图?
    给大家30秒的时间,一起来思考这是什么? 这是某系统登陆模块功能的初始类图。随着现代软件的不断复杂化,代码图(CodeGraphs)为测试人员提供了一种直观的方法,让复杂的代码逻辑易于理解。本文将深入探讨代码图,通过挖掘到的真实场景和实际示例,展示可视化代码图如何增强软件测试人员的......
  • 实验4-代码审查
    一、实验题目:代码审查二、实验目的1、熟悉编码风格,利用开发环境所提供的平台工具对代码进行自动格式审查;2、根据代码规范制定代码走查表,并按所制定的审查规范互审代码。三、实验内容1、利用PyCharm环境;PyCharm环境(1)预先准备在PyCharm环境下实现对输入的n个整数进行排序的......
  • 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个整数进行......