博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
代码复审
阅读量:4450 次
发布时间:2019-06-07

本文共 3263 字,大约阅读时间需要 10 分钟。

一、这次复审的是李成帅(130201127)http://www.cnblogs.com/lichengshuai/同学的四则运算代码,源代码如下:

1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Threading.Tasks; 9 using System.Windows.Forms;10 11 namespace 四则运算作业12 {13     public partial class Form1 : Form14     {15         public Form1()16         {17             InitializeComponent();18         }19 20         private void button1_Click(object sender, EventArgs e)21         {22             Random shu = new Random();//用于产生计算的数23             Random fuhao = new Random();//用于产生运算符24 25             int suijishu1 = shu.Next(1, 101);//取0-100的随机数26             label1.Text = suijishu1.ToString();//随机产生第一个数27 28             int yunsuanfu1 = fuhao.Next(1, 5);//取1-4的随机数用来匹配运算符29             string jsysf1 = "";//用于接受+-*/30             switch (yunsuanfu1)//判断运算符31             {32                 case 1:33                     jsysf1 = "+";34                     break;35                 case 2:36                     jsysf1 = "-";37                     break;38                 case 3:39                     jsysf1 = "*";40                     break;41                 case 4:42                     jsysf1 = "/";43                     break;44             }45 46             label2.Text = jsysf1;//第一个符号47 48             int suijishu2 = shu.Next(1, 101);//取0-100的随机数49             label3.Text = suijishu2.ToString();//随机产生第二个数50 51             if (jsysf1 == "/" && suijishu2 == 0)//除数为零的操作52             {53                 jsysf1 = "+";54             }55             if (jsysf1 == "/" && suijishu1 % suijishu2 != 0)//不能整除的操作56             {57                 jsysf1 = "-";58             }59 60             int yunsuanfu2 = fuhao.Next(1, 5);//取1-4的随机数用来匹配运算符61             string jsysf2 = "";//用于接受+-*/62             switch (yunsuanfu2)//判断运算符63             {64                 case 1:65                     jsysf2 = "+";66                     break;67                 case 2:68                     jsysf2 = "-";69                     break;70                 case 3:71                     jsysf2 = "*";72                     break;73                 case 4:74                     jsysf2 = "/";75                     break;76             }77 78             label4.Text = jsysf2;//第二个符号79 80             int suijishu3 = shu.Next(1, 101);//取0-100的随机数81             label5.Text = suijishu3.ToString();//随机产生第三个数82 83             if (jsysf2 == "/" && suijishu3 == 0)//除数为零的操作84             {85                 jsysf2 = "+";86             }87         }88 89 90     }91 }

二、代码复审检查表

1、概要部分

(1)代码符合需求和规格说明么?

符合。

(2)代码设计是否考虑周全?

缺少结果等于负数的情况。

(3)代码可读性如何?

简单易懂。

(4)有冗余的或重复的代码吗?

没有冗余,有重复。

(5)代码的每一行都执行并检查过了吗?

 执行并逐行检查过。

 

2、设计规范部分

(1)设计是否遵从已知的设计模式或项目中常用的模式?

遵守。

(2)有没有硬编码或字符串存在?

所有的int都改成了string。

(3)代码有没有依赖于某一平台?

没有进行其他平台开发。

(4)有没有无用的代码可以清除?

 没有。

 

3、代码规范部分

基本符合代码标准和风格,代码可读性高。

 

4、具体代码部分

(1)数据结构中有没有用不到的元素?

没有。

(2)对于调用的外部函数,是否检查了返回值?

全部检查了。

 

5、效能

(1)代码的效能如何?

效能很高。

(2)循环中是否有明显可优化的部分?

 没有循环,每次显示一个式子。

 

6、可读性

可读性比较高,注释比较好。

 

7、可测试性

是否需要更新或创建新的单元测试?

在此基础上可以进一步进行功能添加。

 

三、代码复审感想

经过这次的代码复审,我认识到了代码复审可以找出代码的错误,以及发现逻辑和算法的出错,甚至还可能发现潜在的错误,这些能让我们互相在代码复审中互有补益,能够更加开拓我们对编程的理解和认识。

转载于:https://www.cnblogs.com/zwx130201135/p/5298017.html

你可能感兴趣的文章
vue 小记
查看>>
应用程序框架实战十:开发环境准备与学习资料清单
查看>>
CURRICULUM VITAE
查看>>
菱形缓冲器电路
查看>>
窗函数
查看>>
盲点流水账记录
查看>>
08多态
查看>>
Groovy 程序结构
查看>>
使用 WordPress 的导航菜单
查看>>
input只能输入数字和小数点,并且只能保留小数点后两位 - CSDN博客
查看>>
js 不固定传参
查看>>
远程调试UWP遇到新错误Could not generate the root folder for app package ......
查看>>
centos6.5 yum update 报错Couldn't resolve host 'centos.ustc.edu.cn'
查看>>
jQuery 序列化表单数据
查看>>
Java字符串StringTokenizer学习
查看>>
箭头函数与普通函数的区别
查看>>
怎样解决:未找到路径“……”的控制器或该控制器未实现 IController?
查看>>
python 特殊方法之new
查看>>
C++STRING类常用函数(转)
查看>>
AMQP
查看>>