结对项目个人代码互评分析

中小学数学卷子自动生成程序——结对编程代码分析

一、项目需求

 1. 命令行输入用户名和密码,两者之间用空格隔开(程序预设小学、初中和高中各三个账号,具体见附表),如果用户名和密码都正确,将根据账户类型显示“当前选择为XX出题”,XX为小学、初中和高中三个选项中的一个。否则提示“请输入正确的用户名、密码”,重新输入用户名、密码;

 2. 登录后,系统提示“准备生成XX数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录):”,XX为小学、初中和高中三个选项中的一个,用户输入所需出的卷子的题目数量,系统默认将根据账号类型进行出题。每道题目的操作数在1-5个之间,操作数取值范围为1-100;

 3. 题目数量的有效输入范围是“10-30”(含10,30,或-1退出登录),程序根据输入的题目数量生成符合小学、初中和高中难度的题目的卷子(具体要求见附表)。同一个老师的卷子中的题目不能与以前的已生成的卷子中的题目重复(以指定文件夹下存在的文件为准,见5);

 4. 在登录状态下,如果用户需要切换类型选项,命令行输入“切换为XX”,XX为小学、初中和高中三个选项中的一个,输入项不符合要求时,程序控制台提示“请输入小学、初中和高中三个选项中的一个”;输入正确后,显示“”系统提示“准备生成XX数学题目,请输入生成题目数量”,用户输入所需出的卷子的题目数量,系统新设置的类型进行出题;

 5. 生成的题目将以“年-月-日-时-分-秒.txt”的形式保存,每个账号一个文件夹。每道题目有题号,每题之间空一行;

二、结果测试

程序功能得到了较好的实现,并且还添加了许多的操作提示功能。

三、代码分析

优点:

  1. 变量命名规范,采用驼峰命名法,英文单词用词准确,让人一眼就可以看出变量名和类名的含义。

  2. 程序在关键部分都给出了注释,让人能轻易的知道程序的逻辑结构,可读性强。

  3. 程序采用了面向对象的设计思想,设计了一个用户类,在之后的结对编程中若将其连接数据库就会十分简单。

  4. 主函数整洁,函数之间的调用都十分紧凑,逻辑清晰,代码简洁。

  5. 程序完全实现了要求的功能,并且还添加了判断以往生成试卷的题目是否重复的功能。

缺点:

1. 在生成小学,初中和高中的代码中,程序复用性较低。


2. 用户的输入优化为文件输入更好。

四、总结

队友对用户体验要求实现较好,且代码总体符合规范,程序功能基本满足。在阅读队友的代码中,我意识到了自己的代码的思想不是很好,因为队友用到了面向对象的思想,比我这种面向过程的代码思想要更好。总之,观看别人的代码就像学习了别人的编程思路与编程方式,在这个过程中确实能学习到很多的东西,相信在接下来的学习中我就会运用到这一次结对编程所学到的东西了。

posted @ 2021-09-28 09:41  afln  阅读(78)  评论(0)    收藏  举报