优缺点分析
优点
功能实现上:
1.登录提示比较亲切,比较友好,提示到位,体验度高,完成了登录提示,功能选择,试卷自动生成三个基本功能。
2.自动生成的试卷中,三个级别的(小、初、高)的试卷题目都比较符合要求,小学都是加减乘除,初中题必须包括根号和平方,高中题必须包括sin,cos,tan。
3.试卷生成函数写的比较好,采用了BufferedWriter类缓冲流进行题目的填充,并且采用了相对路径生成文件。
代码规范与结构上:
1.每个变量名都按照规范命名,类属性变量都是全是m前缀的,局部变量无前缀。
public String m_name, m_schoolType;
public int m_questionNum;
2.类的封装做的比较好,把整个模块分为了两个大类(CreatePaper和LoginFrame)来完成登录选择和试卷题目生成两个功能。每个类中又对不同功能的函数进行了封装,比如说登录就是登录函数,选择功能就是选择函数等等。这样就可以实现模块化处理,不会重复写出同样功能的代码。
以
public void paper_generate() //试卷生成
private boolean isRepeat(String question, String m_name) //查重,题目不许重复
private String question_generate(String m_schoolType) //生成题目
3.代码注释做的比较简洁明了,通俗易懂,每一个类,每一个函数,大部分变量都做了注释说明,包括一些关键的步骤也进行了标注,让阅读代码的人易于理解,可读性高。
缺点
1.注释上还不够完善,比如说对于几个类变量名,函数参数就没有进行参数注释。
2.函数名没有按照规范命名,即首字母大写,动词+名词的形式。
3.题目生成函数写的代码比较长,看着很复杂,其中涉及到了表达式生成,符号处理,这两个功能实现代码比较长,分开两个函数比较好。
4.功能里面没有实现加括号的功能,每一道题目都只是涉及到了符号之间的运算,而没有括号。
5.该同学生成表达式时按照符号等级生成,生成表达式的时候符号没有实现随机化。