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

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

  1. 个人博客作业-Week2 (代码规范, 代码复审)

    代码规范: 1.这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 编码规范它包含了代码格式,还包括了编码风格和其他规范,通常涉及:缩进.空格使用.Tab使用 注释. ...

  2. 2018091-2博客作业

    此作业的要求参见https://edu.cnblogs.com/campus/nenu/2018fall/homework/2101 1. 建博客(1分) 在 cnblogs.com (博客园)建账号 ...

  3. 2022北航敏捷软件工程 第四次博客作业

    2022北航敏捷软件工程 第四次博客作业 项目 内容 这个作业属于哪个课程 2022年北航敏捷软件工程 这个作业的要求在哪里 个人作业-提问回顾与个人总结 我在这个课程的目标是 了解软件工程的方法论. ...

  4. 【面向对象设计与构造】第一次博客作业

    [面向对象设计与构造]第一次博客作业 一.程序结构分析 1. 第一次作业 类图 由于第一次作业难度较低,实现起来也不需要很复杂的算法,因此在编写程序的时候只建立了两个类,Main类主要负责多项式的读入 ...

  5. 数据结构线性表博客作业总结

    作业总结 一.基本要求与评分要求 1.1 基本要求 按时交 - 有分 未交 - 0分 迟交一周以上 - 倒扣本次作业分数 抄袭 - 0分 博客作业不规范,没有Markdown语法 - 扣分 泛泛而谈( ...

  6. OO第三次博客作业——规格

    OO第三次博客作业--规格 一.调研结果: 规格的历史: 引自博文链接:http://blog.sina.com.cn/s/blog_473d5bba010001x9.html 传统科学的特点是发现世 ...

  7. 2018091-2 博客作业

    此作业的要求参见https://edu.cnblogs.com/campus/nenu/2018fall/homework/2101 1.建博客 在 cnblogs.com (博客园)建账号.博客地址 ...

  8. 作业二:个人博客作业内容:需求分析

    作业二:个人博客作业内容:需求分析 怎样与用户有效沟通获取用户的真实需求? 访谈,正式访谈系统分析员将提出一些事先准备好的具体问题:非正式访谈中,分析人员将提出一些用户可以自由回答的开放性问题,一鼓励 ...

  9. C语言博客作业--函数

    C语言博客作业--函数 一,PTA实验作业 6-2 简单实现x的n次方 1.本题PTA提交列表 2.设计思路 double mypow( double x, int n )函数 (1)定义y=1,i用 ...

最新文章

  1. 更优雅地判断iOS设备类型
  2. 机器学习:数据预处理之独热编码(One-Hot)
  3. 【Docker】 安装 mysql
  4. Spring Boot jackson配置使用详解
  5. Android学习笔记(二)——TextView常用属性以及下划线、跑马灯设置
  6. php 获取所有子目录名,php读取目录及子目录下所有文件名的方法,_PHP教程
  7. excel 区间人数柱状图_原来用Excel做数据分析如此简单!
  8. swift python 性能_Swift 性能探索和优化分析
  9. python_07 函数作用域、匿名函数
  10. cimoc 最新版_Cimoc1.49版下载
  11. NOIP2016普及组T1(买铅笔)题解
  12. 程序员职业发展路线图
  13. 如何用计算机制作思维导向图,mindmaster使用方法,手把手教你制作思维导图
  14. 赵海平与张宏波谈编程语言
  15. oracle可恢复的等待,【案例】Oracle RAC恢复报错RMAN-06004 RMAN-20003解决办法笔记
  16. 無間道III 終極無間
  17. bzoj1755 [Usaco2005 qua]Bank Interest
  18. php enc28j60,uip0.9+ENC28J60 缓存的读写发送
  19. Oracle向mysql改造
  20. 有机面包粉的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告

热门文章

  1. 【CodeForces - 270A】Fancy Fence (几何,思维,水题)
  2. 【CodeForces - 1060C】Maximum Subrectangle (思维,预处理前缀和,dp,枚举长度)
  3. 从零开始学视觉Transformer(6):Swin Transformer-1
  4. linux用户登录实验,Linux用户和组相关命令及实验
  5. 多线程和单线程 打印数字到100000 的速度对比
  6. (多线程)leetcode1114. 按序打印 认识AtomicInteger
  7. 借汉诺塔理解栈与递归
  8. 自然语言处理(1)-概述
  9. matlab生成均匀部分散点图,应用halton序列生成均匀散点图
  10. Linux学习笔记(二)