中小学数学卷子自动生成程序:队友代码分析
一、优点:
①分出了一个user类,对用户的name和password定义为private类型,很好的保护了用户信息
②代码可读性高。关键地方的注释比较完善,便于读者阅读理解,缩进规范。命名使用了驼峰命名法,命名语义性强,不容易混乱,而且容易阅读。
③使用了java异常处理机制来避免程序出错,代码安全性高
在限制用户输入题目数量时,使用了java异常处理,很巧妙。
在输入数量错误时,抛出异常,让用户重新输入
④能够面型对象编程
将出题逻辑单独划分了一个类creator类进行编写,有User用户类,模拟存储教师信息数据库的informatio类,模块划分清晰,封装性好。
⑤出题思路清晰简洁严谨,易于理解
符合个人项目需求要求。小学2-5个操作数,非小学1-5个操作数,用operator_num接收操作数数量,用operator数组接收随机数。在添加括号,sin,cos,tan,✔,^2时概率等分,增强了随机性。
使用标记数组,进行加入✔^2时,为了避免一个操作数既开方有平方,使用了标记数组避免重复添加。
⑥题目查重功能完善。
⑦对文件流的使用熟悉
二、缺点:
①main函数中的函数方法多,显得主类比较臃肿,我觉得可以将login(), changType(),以及operator()这几个操作函数单独划分出一个类来写,使得主类更加简洁,功能划分更清晰。
②每次启动程序都会有初始登录页面
数据库都会进行一次初始化加载用户信息进入数据库类,所以我觉得这种比较固定的,必须的初始化操作可以写一个init类。在主类中进行调用加载。
总结:总的来说,队友的代码写得很好,很多地方值得去我去学习。