结对编程队友代码分析
在本次个人项目中队友使用了java语言来开发该项目,能基本满足项目的需求。
代码分析:
该项目中一共包含两个类,分别是paperTest类和Teacher类
Teacher类:

Teacher类是对用户(老师)的一个抽象,其属性包含用户名,密码和默认的出题年级难度
paperTest类
paperTest类是应用程序中核心类,该类中实现了用户登录和生成试卷功能
成员变量:

主方法:
在主方法中首先调用Init方法将用户的数据导入,然后调用Sign方法实现用户登录和生成试卷功能
Init方法:将已有用户存储在teacherList中,导入用户数据

Sign方法:
Sign方法可按照功能分为三部分
1. 登录功能:


通过对用户输入的账号和密码与teacherList中的用户进行比对,若相符,则登录成功,跳出循环
否则,登录失败,继续循环
2.用户输入功能:



通过if语句对用户输入的数据作出对应的判断,并对输入数据进行处理存储起来,得到用户需要生成题目的数量或需要切换的难度
3.生成题目功能

生成题目功能由generatePaper方法实现,因此下面分析generatePaper方法
generatePaper方法:
该方法可以分为两部分:
1.建立用户对应的目录,并在当前目录下以当前时间命名的文件来存储题目


2.通过当前等级grade分别调用primaryTitle,juniorTitle和seniorTitle生成对应难度的题目,然后写入文件里


生成的题目例子:

总结
优点:
基本满足题目的需求
代码有层次感,不臃肿,能按照功能进行分层,主方法清晰简洁
类,方法和变量的命名规范,并且让人清楚易懂
注释规范,使代码可读性大大增强
先生成题目再加括号的想法好
生成的题目随机性强
缺点:
导包不规范,不应该用通配符*
缩进不规范,应该为2个空格不是4个空格
输入题目数量时有小bug,当输入空行或者输入无关字符串后再输入单个字符会导致数组越界,输入无关字符串后会导致输入的题目数量无效
将登录和生成试卷功能分开两个方法写会使得代码更加的清晰,有结构。

浙公网安备 33010602011771号