结对编程分析——中小学数学卷子自动生成程序

中小学数学卷子自动生成程序分析

本次课程任务要求我们在规定时间内完成一个可以自动生成中小学数学题目卷子的程序,用户为老师。主要是实现账户名密码的验证,账户的切换,根据账户类型生成不同难度的试题并查重。在此简单分析一下搭档的项目代码。

程序流程

搭档的程序流程图如下图所示,可以看到她的程序编写逻辑十分清晰,将程序总体分为登录和题目创建两个模块,在模块内部对各个方法进行封装实现各细节功能。

优点

1. 变量命名清晰规范,很好的遵循了编码规则。且仅有一个成员变量,节省了内存空间。

2. 主函数中只调用了两个方法,其他方法都被封装在了各个方法内,使代码的结构更加清晰。合理地运用了函数的递归,减少了while循环调用,代码更加简洁美观。
3. 使用相对位置生成文件,易于查找,提高了代码的健壮性。且增加了“小学试卷”、“初中试卷”、“高中试卷”的上级目录,分类更加清晰。
4. 在保持题目的原意上增加了提示性语句,对不符合要求的输入进行了处理和提示,用户体验良好。
5. 运算表达式的生成过程逻辑很清晰,代码易读性很好。根据不同的用户类型,保持生成逻辑的总体一致。

缺点

1. 整个软件只有一个类,后期的维护工作较难开展。
2. 生成题目的复杂性还有待提高,尚未考虑括号内和单元运算结合的计算情况,括号并非随机生成且只有一个括号。

总体而言,搭档同学的程序健壮性强,可读性好,函数封装程度高,基本做到了“高内聚、低耦合”,我的代码函数封装做得仍然不够。通过阅读、学习他人的代码,也可以找到自己的问题,互相学习,共同进步!

posted @ 2020-09-30 19:37  黄舟瑜  阅读(189)  评论(2)    收藏  举报