结对编程队友代码分析

  在本次个人项目中队友使用了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,当输入空行或者输入无关字符串后再输入单个字符会导致数组越界,输入无关字符串后会导致输入的题目数量无效

将登录和生成试卷功能分开两个方法写会使得代码更加的清晰,有结构。

 

posted @ 2022-09-13 20:34  chrisu  阅读(114)  评论(0)    收藏  举报