• 代码复审


    一、这次复审的是李成帅(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 : Form
    14     {
    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、可测试性

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

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

    三、代码复审感想

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

  • 相关阅读:
    方向-Vocabulary
    常见问题之Zego+Audio原生播放音频冲突
    synchronized类锁,方法锁,块级锁,一文看懂
    vim复制粘贴
    FastDFS文件服务器安装指南附安装包和自启动(看此篇就够了)
    springboot后端校验
    springboot打包启动时报mybatis的typeAlias类名找不到的错误
    给springboot增加XSS跨站脚本攻击防护功能
    docker cannot open directory .: Permission denied无权限问题
    docker学习笔记一篇就通系列(持续更新)
  • 原文地址:https://www.cnblogs.com/zwx130201135/p/5298017.html
Copyright © 2020-2023  润新知