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

实验四--代码审查

时间:2024-05-10 15:44:06浏览次数:23  
标签:审查 查表 -- 代码 问题 格式 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 错误结果

图3 正确的代码

图4 更改后规约扫描结果
七、实验中遇到的问题及解决方法一、环境配置问题
【问题1】: 在IDEA中安装插件时,遇到了网络不好的问题,导致插件无法成功下载。
【解决方法】:连接自己的手机热点,进行插件的安装。
【问题2】:代码格式审查问题: 自动化格式审查工具会报告一些看似无关紧要的问题:多余的空格、注释格式。
【解决方法】:
1.仔细阅读审查报告,了解每个问题的具体内容和原因。
2.对于确实需要修改的问题,按照审查报告中的建议进行修改。
3.对于一些可以忽略的问题,在审查工具中配置规则进行忽略。
【问题3】:代码格式审查问题:在修改代码格式时,会不小心引入新的错误或问题。
【解决方法】:
1.在修改代码格式之前,先备份原始代码。
2.在修改过程中,保持谨慎和耐心,确保不会引入新的错误。
【问题4】制定代码走查表问题:在制定代码走查表时,会因为对代码规范理解不透彻而遗漏一些重要的审查点。
【解决方法】:
1.深入学习代码规范,了解常见的代码问题和错误类型。
2.与小组成员讨论和协商,确保代码走查表能够全面覆盖需要审查的内容。
【问题5】: 制定代码走查表问题:在进行代码互审时,可能会因为对代码的理解不同而产生分歧。
【解决方法】:
1.在进行代码互审之前,先对代码进行充分的了解和熟悉。
2.对于有疑问的地方,及时与代码编写者进行沟通和交流。
3.在互审过程中保持客观和公正的态度,尊重彼此的意见和观点。

标签:审查,查表,--,代码,问题,格式,flake8
From: https://www.cnblogs.com/xiaoyang599/p/18184498

相关文章

  • XFreerdp2.x编译安装
    1、下载freerdp编译包gitclonehttps://github.com/FreeRDP/FreeRDP.git或者指定版本zip文件下载 2、安装freerdp所依赖包foriin`find./-typef`;docat${i}|grep-i'openssl-devel';if[$?=="0"];thenecho"${i}";fi;done查看需要的安装包2.x版本的实际......
  • 探讨:ARC(Automatic Reference Counting)与手动内存管理的区别及工作原理
    在iOS和macOS开发中,内存管理是一个至关重要的话题。在过去,手动内存管理是一项繁琐且容易出错的任务,而引入了ARC(AutomaticReferenceCounting,自动引用计数)之后,内存管理变得更加简单和安全。本文将详细讨论ARC和手动内存管理之间的区别,并解释ARC的工作原理。1.ARC与手......
  • 实验四
    https://gitee.com/ha-choir-competition-big-data/shiyanyi/blob/master/实验3一、实验题目:代码审查二、实验目的1、熟悉编码风格,利用开发环境所提供的平台工具对代码进行自动格式审查;2、根据代码规范制定代码走查表,并按所制定的审查规范互审代码。三、实验内容1、IDEA环......
  • 理解 iOS 中的多线程编程
    在iOS应用开发中,多线程编程是一项关键技术,可以帮助应用实现更好的性能和响应性。本文将详细解释iOS中的多线程编程,并讨论如何在应用中正确地使用多线程以提高性能和响应性。1.什么是多线程编程?多线程编程是指在一个应用程序中同时执行多个线程(线程是进程中的执行单元),从而实......
  • 探讨:Grand Central Dispatch(GCD)与 Operation 和 OperationQueue 的使用
    在iOS开发中,GrandCentralDispatch(GCD)和Operation和OperationQueue是两种常用的多线程编程技术,它们各有优劣,适用于不同的场景。本文将详细讲解它们在不同情况下的具体使用,并提供Swift和Objective-C语言的示例。1.GrandCentralDispatch(GCD)Swift示例://在后台队列......
  • 22.单元模式
    【一】单例模式让一个类只创建一个对象,即所有对象都是一样的1)元类classMyType(type):def__init__(cls,name,bases,name_space):#给自己的类加一个属性:instance初始值Nonecls.instance=Nonesuper().__init__(name,bases,name_space......
  • 解析 Grand Central Dispatch(GCD)的详细使用方法
    GrandCentralDispatch(GCD)是苹果提供的一种用于管理多线程编程的技术,它提供了一种简单而强大的方式来实现并发任务的调度和执行。本文将详细介绍GCD的使用方法,并提供一些常用的示例。1.DispatchQueue(调度队列)调度队列是GCD中用于管理任务执行的核心概念,它分为两种类型:串......
  • 21.面向对象【五】
    【一】内置方法补充1)__call__#__call__:当类()或对象()调用时触发classEg:def__init__(self):print('执行__init__')def__call__(self,*args,**kwargs):print('执行__call__')obj=Eg()#执行__init__obj()#执行__call__#校验当......
  • 实验四:代码审查
    一、实验题目:代码审查二、实验目的1、熟悉编码风格,利用开发环境所提供的平台工具对代码进行自动格式审查;2、根据代码规范制定代码走查表,并按所制定的审查规范互审代码。三、实验内容1、IDEA环境和PyCharm环境二选一;IDEA环境(1)预先准备在IDEA环境下实现对输入的n个整数进行......
  • 代码审查
    一、实验题目:代码审查二、实验目的熟悉编码风格,利用开发环境所提供的平台工具对代码进行自动格式审查;根据代码规范制定代码走查表,并按所制定的审查规范互审代码。三、实验内容PyCharm环境预先准备在PyCharm环境下实现对输入的n个整数进行排序的代码;利用CodeIns......