一、实验题目 :代码审查

二、实验目的 

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.码云链接

https://gitee.com/Inton_JR/software-engineering/blob/master/CodeTest.java

遇到问题:下载Alibaba插件时,由于下载两个重复的插件导致key值相同,从而引起idea的异常,无法启动编译器。

解决方法:卸载idea,删除所有插件后重新安装

2.自己代码

package MyPackage;
 
import java.util.Scanner;
 
public class CodeTest {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int A = 0;
        int a = 5;
 
        //此处关键字命名已修改
        long b = 20L;
 
        int n = sc.nextInt();
        int [] arr = new int[n];
 
        for (int i = 0; i < arr.length; i++) {
            arr[i] = sc.nextInt();
        }
 
        //排序
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr.length - i - 1; j++) {
                if(arr[j] > arr[j+1]){
                    int t = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = t;
                }
            }
        }
 
        //此处if大括号已添加
        if(a+b>3) {
            System.out.println("yes");
        }
 
        //此处for大括号已添加
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+" ");
        }
 
    }
}

3.审查代码:

import java.util.Scanner;
 
/**
 * @author Mr.Wang
 * 实现冒泡排序算法
 * array是待排数组
 * bubbleSort是冒泡排序算法
 */
public class SortCodingTest {
    public static void main(String[] args) {
        //提示用户输入数组元素个数
        System.out.println("请输入数组元素个数:");
        //定义n存放数组数量
        int n;
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        //定义初始数组
        int []array = new int[n];
        //提示用户输入数组元素
        System.out.println("请输入存放的数据:");
        Scanner s = new Scanner(System.in);
        for (int i = 0; i < n; i++){
            array[i] = s.nextInt();
        }
        //调用排序算法
        bubbleSort(array);
        for (int i = 0;i < array.length;i++) {
            System.out.print(array[i] + " ");
        }
    }
    public static void bubbleSort(int[] arr) {
        //定义中间变量temp
        int temp;
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = 0; j < arr.length - i - 1; j++) {
                if (arr[j] > arr[j + 1]) {
                    temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
    }
}

4.代码走查表

posted on 2024-05-10 16:06  Inton_JR  阅读(18)  评论(0编辑  收藏  举报