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

在上一周的个人项目中队友用的是C++,代码运行正常,且基本实现了需求文档的要求,然后关于她的代码,我觉得有很多可以借鉴的地方,也有一些需要改进的地方。

优点:

1、总体结构很清楚,思路清晰。从登录到功能切换,从试卷生成到题目生成,以及重复性检测,每一步都有对应的函数代码,思路清晰,逻辑清楚。

2、代码的编写基本符合规范要求,且注释基本到位,可读性强。例如在前面的主要函数声明中注释很清楚地标明清楚了函数的作用,函数基本命名符合规范,可以根据名字而知其意,变量命名也基本符合规范,这一点我得向她学习。

3、代码整体比较简洁。在代码中利用了很多库函数解决问题,而不是一板一眼地实现,这样极大地简化了代码,比如strftime()、insert(),find()等函数就简化了关于在字符串的一些处理,这一点我认为自己做得没有她好。

4、在用户的交互方面做得很好,一步一步都引导很详细,很好地满足了需求文档里要求的功能。

5、类的封装和题目查重部分做得很好。

缺点:

1、代码有需要优化的地方:在生成数学题的函数string Math(string curr_grade)中有多个return语句,出口不止一个。存在函数如string zhuan(int n)命名不清楚。

2、在数学题生成过程中发现sin、cos、tan这些操作符是无法放在第一个数的,这三个操作符可以随机放在第一个操作数后,这是一个限制,我觉得应该要把第一个操作数也算进去。

3、括号的处理感觉不够完善,该代码在添加括号部分选择只添加一个括号,且只在小学里添加括号,我觉得这样出的数学题不够符合要求。

4、文件使用绝对路径,而且需要在代码部分手动生成每个用户文件夹,这样比较麻烦,而且我觉得用户信息可以改为txt文件录入,这样以后可以更加方便地更新用户。

总而言之,我觉得队友的代码有许多值得我学习的地方,也让我意识到自己的代码有许多可以优化的地方,我会继续向她学习的。

原文地址:https://www.cnblogs.com/hnu-ll/p/11551291.html

时间: 2024-08-30 15:17:22

中小学数学卷子自动生成程序——结对分析的相关文章

中小学数学卷子自动生成程序: 结对编程对方代码分析

需求分析: 1.命令行输入用户名和密码,两者之间用空格隔开(程序预设小学.初中和高中各三个账号,具体见附表),如果用户名和密码都正确,将根据账户类型显示“当前选择为XX出题”,XX为小学.初中和高中三个选项中的一个.否则提示“请输入正确的用户名.密码”,重新输入用户名.密码: 2.登录后,系统提示“准备生成XX数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录):”,XX为小学.初中和高中三个选项中的一个,用户输入所需出的卷子的题目数量,系统默认将根据账号类型进行出题.每道题目的操作

中小学数学卷子自动生成程序-结对编程之队友代码分析

一.编程语言:C++ 二.代码解读与分析: 1. 项目逻辑 通过输入信息与数组中存储账户信息比对完成用户登录.根据不同的类型要求生成相应类型的试卷并查重.将生成题目以指定的形式存放在指定文件夹下.过程中可切换试卷类型. 2.函数功能说明 int main():主函数负责调用各个功能函数,将各个功能模块按照项目实际的使用情况与应用逻辑结合适当的提示性信息进行组织和套用. void SetPrimary(int n):生成小学类型的试卷. void SetMiddle(int n):生成初中类型的试

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

结对编程对方个人项目分析 个人项目:中小学数学卷子自动生成程序 用户:小学.初中和高中数学老师. 功能: 1.命令行输入用户名和密码,两者之间用空格隔开(程序预设小学.初中和高中各三个账号,具体见附表),如果用户名和密码都正确,将根据账户类型显示“当前选择为XX出题”,XX为小学.初中和高中三个选项中的一个.否则提示“请输入正确的用户名.密码”,重新输入用户名.密码: 2.登录后,系统提示“准备生成XX数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录):”,XX为小学.初中和高中三

个人项目:中小学数学卷子自动生成程序-队友代码测评

结对编程-队友代码分析 上一周,我们完成了个人项目编程.在经过对队友代码的分析,我感触颇深,觉得非常有必要来写一篇文章分析一下队友的代码,我是用的java,而队友用的c++,以下开始正文! ------------------------------------------------------------------------------- 项目需求简述: 个人项目:中小学数学卷子自动生成程序 用户: 小学.初中和高中数学老师. 功能: 1.命令行输入用户名和密码,两者之间用空格隔开(程序

中小学数学卷子自动生成程序分析 个人项目

每个人都弄了一个个人项目,然后结队,编程实现更多功能. 程序要求用户预设账号登录后可以选择自动生成不同数量(10-30道).不同难度(小学.初中.高中)的数学卷子到txt文本中. 通读项目需求,本次程序主要难点集中在题目严谨的数学逻辑与随机出题的结合以及出题不重复的实现. 下面简单分析一下李同学的工程编写优缺点: 优点: 文件路径使用相对路径.文件路径具有相对路径和绝对路径两种形式,而绝对路径可能会使得程序的可重用性差,使得在别的终端上不能运行,而在程序中使用相对路径则会变的有极强的适应性,包括

中小学数学卷子自动生成 - 结对项目wjy的代码分析

[实现思路] 命令行输入用户名和密码,匹配试卷难度,每个类的账号只能生成当前难度下的试卷: 根据试卷难度生成题目,主要是随机生成操作数的个数,每个操作数的形式,两个操作符之间的操作符,最后是随机生成括号,因为设计题目的合理性,所以在写随机生成的时候需要考虑到各种可能的情况: 最后生成的试卷以“年-月-日-时-分-秒.txt”命名方式生成到以用户名命名的文件夹中. [函数结构] public static void main(String[] args) static void init() st

中小学数学试卷自动生成程序-对张凯翔同学代码的评价

张凯翔的优点: 面向对象编程,结构清晰,修改难度小 生成了UI界面,清晰美观 相比张惟盛的代码生成的题目更加科学,比如会在平方和开方的部分增加括号,以确保意义明确 相较于C语言,采用了更加方便的Java,调用函数以及捕获异常,确保了程度的稳定性 张凯旋的缺点: 代码习惯有点问题,杂乱且缺少注释 虽然采用了全随机生成运算符的方式,但在某些算式中也会出现无意义的括号,比如在正常的加减乘除中,第一个为乘法,已经是优先的但是还是会添加无意义的括号,有瑕疵 缺少了对同一老师的不同试卷进行题目查重的步骤,虽

结对编程——基于JAVA开发的中小学生数学试卷自动生成程序

这两个星期,我和马同学一起参与了基于个人项目的中小学生数学试卷的自动生成程序结对编程项目.结对编程的实现是基于个人编程的,不过由于我是用c++而同伴是用的PYTHON商量之后我们决定用JAVA从头开始写.原本打算使用mvc框架来完成这个项目,但是由于对其使用不够熟悉,最后还是没怎么能用上. 这次项目我负责的是前端部分,前端部分做起来还是挺麻烦的,我们使用的是java来完成这个项目,对于UI界面我们使用了jframe来编写,在项目过程中遇到几个很莫名奇妙的bug,原本是用阿里云短信服务返回的验证码

对Quin同学的试卷自动生成程序代码分析

我的partner Quin同学使用Python语言编写的中小学试卷生成系统,在此我对他的劳动成果进行一个简单分析. 项目需求: 功能: 1.命令行输入用户名和密码,两者之间用空格隔开(程序预设小学.初中和高中各三个账号,具体见附表),如果用户名和密码都正确,将根据账户类型显示“当前选择为XX出题”,XX为小学.初中和高中三个选项中的一个.否则提示“请输入正确的用户名.密码”,重新输入用户名.密码: 2.登录后,系统提示“准备生成XX数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录