#个人博客作业week2——结对编程伙伴代码复审

General

  1.程序能够顺利地运行。程序通过命令行输入,能够向对应的文件中输出符合要求的题目和答案。程序能够根据用户的不同选择,进行题目的生产或答案的校验,生成出的题目符合参数要求和项目的查重等各种要求,答案校验准确迅速。

  2.代码逻辑清晰,没有令人难以理解的部分。

  3.他的编码风格与我相似,大括号的使用让我能很清楚地划分模块。变量名很函数名的命名做到了”望文生义“。

  4.阅读过程中没有发现冗余重复多余的代码,项目中没有任何一个部分注释掉代码。

  5.代码模块化十分清晰,主要分为了表达式,分数和计算模块,定义在头文件中,整个项目看上去结构十分清晰。

  6.循环的退出条件合理,没有发现数组越界的情况。

  7.一些重要的逻辑部分缺少必要的注释,自己需要仔细阅读才看能把握,希望能在一些重要的逻辑部分加上一些帮助理解的注释。

 

Security

  1.对于命令行输入的格式检查完整。测试-n的参数小于等于0,或者-r的参数小于等于0的特殊情况时输出”command is not correct!“;测试cmd数据不合法的特殊情况时输出”command is not correct!“。

  2.函数普遍没有检查是否为合法输入。不过在函数调用的部分都输入了合法的输入,所以没有出现异常。

  3.无效的输出值会输出”command is not correct!“。

 

Documentation

  1.缺少对程序的整体说明和解释,是伙伴口头解释给我听。

  2.部分代码有注释但整体不完整,我认为的一些逻辑较为复杂的部分需要添加利于让人读懂和维护的注释。

  3.数据结构的命名”望文生义“,但是建议最好还是需要添加一些解释注释,部分重要的变量缺少注释会让人难以理解。

  4.没有检查出不完整的代码。

 

Testing

  1. 没有使用unit test进行正确性测试。
  2. 但作者记录了如下的人工测试日志:

  1.测试速度,是否能生成超过10000的题,表示形式是否正确,是否出现超过3个运算符的算式
  (1)输入:Myapp.exe -n 10000 -r 10
  测试:看Exercises.txt, Answers.txt是否有10000项;看Exercise.txt中算式是否符合要求;看Answers.txt是否正确形式的答案
  (2)输入:Myapp.exe -e Exercises.txt -a Answers.txt
  测试:看Grade.txt的Correct项是否包含所有的序号,Wrong项包含的0个序号


  2.测试-n的参数小于等于0,或者-r的参数小于等于0的特殊情况
  (1)输入:Myapp.exe -n 0 -r 10
  输出:“command is not correct!”
  (2)输入:Myapp.exe -n -5 -r 10
  输出:“command is not correct!”
  (3)输入:Myapp.exe -n 10 -r 0
  输出:“command is not correct!”
  (4)输入:Myapp.exe -n 10 -r -5
  输出:“command is not correct!”


  3.测试是否产生相同的题目,是否有运算式中间产生负数,测试-n,-r调换顺序的情况
  (1)输入:Myapp.exe -n 100 -r 10
  测试:看这100个运算式是否存在相同的题目,当然也要看中间是否产生了负数的算式
  (2)输入:Myapp.exe -r 10 -n 100
  测试:首先看这是否能生成符合形式的算式和答案,再看这100个运算式是否存在相同的题目,当然也要看中间是否产生了负数的算式


  4.测试是否能够正确地判断答案是否正确。
  (1)对于评测的输入问题,我们要求的是输入的题目和答案都是从1开始顺序编号的,不能缺也不能多;否则,请提示输入有错误。
  (2)由于我们的题目都是按规范生成的,为简单起见,可以认为输入的题目都是按照顺序编号的符合规范的题目。
  (3)(但是答案缺少的话请报错并给出提示。)我把这一条忽略,如果缺少的话就算它是错的。
  (4)所有题号必须是按照顺序递增的,而且题数一致。
  为了比较这个,我把有10算式的正确答案中的部分改错,删掉其中一个答案(题号不删除),最后得到的答案符合要求。


  5.为了符合题目要求,我需要测试cmd数据不对的情况。
  (1)输入:Myapp.exe -n 10
  输出:“command is not correct!”
  (2)输入:Myapp.exe -n 10 -e Exercises.txt
  输出:“command is not correct!”

转载于:https://www.cnblogs.com/FUduomi/p/4847538.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/458807.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux设备驱动程序(第三版)/深入理解计算机系统(原书第2版)/[Android系统原理及开发要点详解].(韩超,梁泉)百度云盘下载

文档下载云盘连接:http://pan.baidu.com/s/1dDD2sgT 更多其他资料,请关注淘宝:http://shop115376623.taobao.com/ http://item.taobao.com/item.htm?spma230r.1.14.3.ArS64K&id43025290175&ns1&abbucket2&_uk10ekfuf6187#d…

个人用户上网需要有计算机电话线,个人用户上网需要有计算机、电话线、用户账号和口令,以及______。...

_条形码按照使用目的可分为()、()和()。简述市场定位的步骤。植物、真菌、藻类和原核细胞的细胞外基质是用粪便隐血试验鉴别消化道良性与恶性肿瘤所致的出血,有价值的是从长期来看,在纸币制度下或纸币本位下,( )是决定汇率的基础。最常引起肺心病的疾病是从长期来看…

Xcode 5.1 编译模拟器以及真机都能使用的静态库

Xcode 5.1.dmg 下载地址 http://pan.baidu.com/s/1jGJpKm6 1.新建 Framework & Library 工程 我起名叫ShowInfo,下面为其源码 showInfo.h #import <Foundation/Foundation.h> interface ShowInfo : NSObject (void)showInfo; end showInfo.m #import "ShowI…

UVALive 6511 Term Project

Term Project Time Limit: 3000msMemory Limit: 131072KBThis problem will be judged on UVALive. Original ID: 651164-bit integer IO format: %lld Java class name: Main解题&#xff1a;强连通分量 1 #include <bits/stdc.h>2 using namespace std;3 const in…

MATLAB混合编程视频教程下载 SIMULINK系统仿真视频

下载链接&#xff1a; http://item.taobao.com/item.htm?id43401674106 精通MATLAB混合编程视频讲解 MATLAB各类函数视频讲解 基于MATLAB的高等数学问题求解 MATLAB函数速查视频讲解 面向对象C视频教程 五朵金花&#xff0c;带你轻松搞定MATLAB 金花详情&#xff1a; 精通MA…

css z-index

为什么80%的码农都做不了架构师&#xff1f;>>> css z-index 最近在发现z-index在position"relative"的元素中会失效 去掉position属性就正常&#xff1a;z-index1 出现在 z-index999之上 记录一下供以后查看 转载于:https://my.oschina.net/livend/blog…

用c++写的一个词典工具

使用的QT图形界面&#xff0c;用libcurl获取的网页&#xff0c;在之中遇见了很多问题&#xff0c;一直想用c类封装一下libcurl,发现c很不到家啊。索性用了友元函数。 先贴上代码吧 main.cpp #include <stdio.h> #include <stdlib.h> #include <unistd.h>#in…

VC++中Format用法

Format是一个很常用&#xff0c;却又似乎很烦的方法&#xff0c;本人试图对这个方法的帮助进行一些翻译&#xff0c;让它有一个完整的概貌&#xff0c;以供大家查询之用&#xff1a;首先看它的声明&#xff1a;function Format(const Format: string; const Args: array of con…

为什么NX10帮助功能无法找到HTML,NX10.0 新功能介绍视频教程专辑

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼NX10.0 新功能介绍视频教程专辑PLM之家NX10.0界面基础新功能--1 NX新界面增强.mp4PLM之家NX10.0界面基础新功能--2 问题管理功能增强.mp4PLM之家NX10.0界面基础新功能--3 资源工具条开发API接口.mp4PLM之家NX10.0界面基础新功能--4…

SVN,桌面右击-settings-Icon Overlays 选择 None

SVN&#xff0c;桌面右击->settings->Icon Overlays 选择 None 转载于:https://www.cnblogs.com/yu520zhong/p/4857324.html

模拟实现strstr

今天我们来模拟实现strstr这个函数&#xff0c;首先我们先来了解一下这个函数&#xff0c;这个函数原型为char *strstr(char *str1,char *str2)&#xff0c;功能是&#xff1a;从字符串str1中查找是否有符串str2&#xff0c;若str2是str1的子串&#xff0c;则先确定str2在str1的…

股票历史数据的获取

从 Yahoo 获取 历史数据 HTML Output: http://finance.yahoo.com/q/hp?s300072.sz&d7&e23&f2010&a5&b11&c2010CSV Output: http://ichart.finance.yahoo.com/table.csv?s300072.sz&d7&e23&f2010&a5&b11&c2010由于历史原因…

html5证书,1+X证书Web前端开发HTML专项练习

1 . HTML5 之前的 HTML 版本是&#xff1f; A.HTML 4.01 B.HTML 4 C.HTML 4.1 D.HTML 4.9 2 . HTML5 的正确 doctype 是&#xff1f; A.B.C.3 . 在 HTML5 中&#xff0c;哪个元素用于组合标题元素&#xff1f;A.B.C.D.4 . HTML5 中不再支持下面哪个元素&#xff1f;A.B.C.D.5 .…

PHP中封装mysql数据库链接(简单版)

为什么80%的码农都做不了架构师&#xff1f;>>> 1&#xff0c;封装mysql数据链接需要哪些属性 主机地址&#xff0c;数据库名&#xff0c;数据库密码&#xff0c;数据库名&#xff0c;字符集 2&#xff0c;利用构造方法在实例化类时&#xff0c;php底层会自动执行的…

c++异常处理机制

c异常处理机制 C异常处理机制是一个用来有效地处理运行错误的非常强大且灵活的工具&#xff0c;它提供了更多的弹性、安全性和稳固性&#xff0c;克服了传统方法所带来的问题. 异常的抛出和处理主要使用了以下三个关键字&#xff1a; try、 throw 、 catch 。 抛出异常即检测…

html标签api,html5新增标签+API介绍

新增标签1、embedembed标签是html5新增的标签&#xff0c;用来嵌入内容&#xff0c;比如插件等&#xff0c;常用于视频文件的播放(为外部应用程序定义容器)。这篇文章介绍了embed的常用属性&#xff0c;基本都是定义播放器的一些设置的&#xff0c;自动播放loop、开始时间start…

UVA10404

1 //题意&#xff1a;S 和 O 二人玩游戏 。N颗石头&#xff0c;M个数&#xff0c;每次拿 M[i]个石头&#xff08;i>0 && i<m) ,谁拿到最后一个谁赢。 2 3 // 定义f[i]为还剩i颗石头时的胜负情况 &#xff0c;若S胜利&#xff0c;则记 1 &#xff0c;4 #include&…

java中定义一个CloneUtil 工具类

其实所有的java对象都可以具备克隆能力&#xff0c;只是因为在基础类Object中被设定成了一个保留方法&#xff08;protected),要想真正拥有克隆的能力&#xff0c; 就需要实现Cloneable接口&#xff0c;重写clone方法。通过克隆方法得到的对象是一个本地的副本。 1、实现Clonea…

C++异常以及错误处理

计算机应用程序中离不开错误处理&#xff0c;尤其是生产型大型软件系统。应用软件系统运行属于循环处理事务&#xff0c;出错后需要保证不能让软件程序直接退出。这就需要使用一定的程序容错处理来应对。一般情况下&#xff0c;大型软件开发中的软件系统容错处理会结合异常处理…

家用台式计算机的额定功率,台式机的功率(台式电脑电源功率多大才合适?)...

台式机的功率(台式电脑电源功率多大才合适&#xff1f;)组装一台电脑&#xff0c;我们需要先挑选好硬件&#xff0c;搭配硬件最关键点就是CPU和主板兼容性&#xff0c;硬件之间的均衡性、电源功率等&#xff0c;均需要考虑周到。那么台式电脑电源功率多大才合适&#xff1f;下面…