结对编程之队友代码分析
这次结对编程项目,我的队友是兰凯伦同学,项目编程语言为java。下面对兰凯伦同学的项目进行一个简单的分析。
代码整体逻辑分析
代码主体为一个main的主体类,是程序运行的地方,主要处理逻辑,程序状态和用户交互之类的。main类里存在两个函数,一个是登录前的processLogin()函数,另外一个是登录后进行指令识别的processLogged()函数。这两个函数通过调用其他类的对应方法实现整个出题流程。程序的主体函数也基本就是由这两个函数构成。
代码类分析
除开代码主体以外,项目包含一个user抽象类,拥有登录(连接数据库),出题,检查题目是否重复的功能;以及Primary,JuniorHigh,High三个实例用户类继承User,并实现出题的具体方法。
User类
user类包含4个变量。用于储存用户对应信息;以及一些常量用于保存数据库的相应信息
方法login用于登录操作;
generateQuestions方法用于根据输入的题目数量生成题目,并将其添加到数据库;
addQuestionsToDatabase方法用于产生题目后,创建对应文件夹并将题目写入到text文件里。
Primary,JuniorHigh,High类
这三个类可以说是大同小异,主要就是生成对应难度的题目。
代码功能测试
功能正常实现,测试过程未发现任何bug
项目优缺点分析
优点:
1.整个项目类别分类良好,没有将整个代码写进少数几个类里,可读性较好
2.注释补充完整,便于他人观看代码时理解代码
3.在数据保存查重时使用到了数据库技术,相对于直接从文件中查询更加方便
4.对于错误指令进行相关处理,便于用户使用
缺点:
1.项目部分代码缺少相关注释
2.部分代码过多try-catch套用
3.三角函数所涉及数值未经过处理,容易出现某些不常用数值