结对编程——对队友王斌的代码分析
代码概述
整个项目代码由三个顶层类文件分为三个部分:
-
MainPart.java(交互界面,主函数)
-
users:账户类实例化
-
initList()
初始化账户信息
-
createProblems()
出题界面
-
adminSystem()
管理员界面
-
initSystem()
登录界面
-
-
User.java(账户类)
-
grade:类型
-
id:名字
-
password:密码
-
User()
构造方法
-
getGrade()
获得类型
-
getId()
获得名字
-
getPassword()
获得密码
-
setPassword()
设置密码
-
-
Creation.java(生成题目)
-
id:名字
-
grade:类型
-
num:生成题目数
-
Creation()
构造方法,根据类型生成不同难度题目
-
createBasic()
添加一个操作数和运算符
-
createTwo()
生成两操作数数学题
-
createThree()
生成三操作数数学题
-
createFour()
生成四操作数数学题
-
createFive()
生成五操作数数学题
-
saveFile()
保存题目到txt文件
-
creating()
随机生成不同操作数的题目并判断是否重复
-
代码优点
-
运用面对对象的思想将项目分为三个相对独立的部分:账户类、交互界面类和生成题目类。
-
账户类:保存账户信息,由其他两部分调用。
-
交互界面类:接收用户的输入指令,调用其他两部分的方法登录、生成题目或修改账户信息。
-
生成题目类:接受交互界面类的调用生成题目,保存在生成的txt文件中。
便于代码复用及维护。
-
-
代码格式规范。
-
文件名、类名、变量名取名都使用驼峰法,简洁明了,可读性强。
-
缩进、空格、自动换行都采用统一标准,大气美观。
-
每个类或方法都有注释解释说明了大致功能与参数、返回值。
-
-
各功能分类明确,准确无误地满足了项目需求,测试无bug存在。
-
生成题目的算法采用了分解组合的方法,多操作数题目由少操作数题目组合而成,如五操作数题目由四操作数题目加一操作数而成,以此类推。该算法考虑到了各种题目情况,比较全面。
-
添加了项目需求中未要求的管理员账户,实现了对已有账户的修改和增添、删除账户的功能。
-
在用户界面一些输入要求没有提示,有些输入错误后跳转界面不友好,成功生成文件后没有提示。
-
一些难懂的代码旁没有注释使得理解有些困难。
-
生成题目的方法createFive()、createFour()、createThree()、createTwo()、createBasic()中代码的重复率过高,比较庞杂。
-
管理员账户对账户的修改无法保存到下一次运行。
-

浙公网安备 33010602011771号