个人项目:中小学数学卷子自动生成程序——队友代码点评
结对编程对象代码分析——唐诗远同学个人项目分析
一、环境、工具
IDEA,使用JAVA编写。
二、项目优点
1、界面与用户交互不错,使用了一个while循环,使得程序可以重复生成考题,当不需要更换难度或者退出程序时,可以直接回车继续生成题目;当输入的为非数字或浮点数时,都会有提示信息,提高了用户体验。
2、充分体现了java的编程思想,将类分成service层,pojo层以及main层。封装性比较好,扩展性高,所有的函数都有自己的作用域,一些固定的部分使用了static函数,这导致该函数不会与包含它的类的其他对象有所关联。保证了静态资源。
3、生成随机题部分的扩展性高,将生成题目,生成括号,检验括号是否合理,检验字符串是否为一个整数型数字等不同功能都封装到了不同的成员函数中,在整个生成随机题库时只需要依次调用函数即可,维护起来较为方便,可以很快的找到是那个部分出现了错误。
4、程序直接可读性高,函数以及变量命名都按照代码规范要求进行;对用户的输入以及程序运行中涉及到的可能出错的相关IO操作都在运行过程进行了额外的判断和提醒,代码旁较为复杂的部分和每个函数前都有注释,保证了程序的可读性。
三、项目缺点
1、在代码执行的过程中感觉生成的交互有点多,可以考虑下生成一套试卷后清屏,进一步提高用户体验。
2、匹配用户时直接把用户内容暴露在SignIn函数,可以考虑将用户的信息保存在一个容器中,在检验时直接检索目标容器即可。
3、代码中判断是否有重复的题目时,每次都要重复检索整个文件夹,个人认为这样虽然编写简单,但是时间复杂度太高了,可以考虑使用hash表映射的方式快速检索是否有重复的题目出现。
2020年9月27日星期日
结对编程小组组员刘大卫

浙公网安备 33010602011771号