首页 > 编程语言 >分析队友个人项目:中小学数学卷子自动生成程序

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

时间:2023-09-19 19:56:25浏览次数:40  
标签:功能 题目 登录 项目 代码 队友 卷子 中小学

一、前言

   上周完成了个人项目的编写。这里对伙伴的个人项目代码稍作分析,学习她的长处,分析不足,使我们都能得到进步。

二、分析

(一)功能需求:

   总的来说,队友的项目实现了老师给出的需求,可以进行登录、切换登录、出题、题目查重、切换试卷类型等功能。在对细节的处理上,队友的项目可以实现保存文件到相对路径、题目存储在正确的文件夹下、题目符合试卷难度类型、处理输入错误等问题。

(二)优点:

  1. 代码模块结构清晰,层次分明。登录和出题模块分离,类设置和功能函数的定义分离,使阅读清晰方便,层次分明。代码逻辑清晰,对功能做了很好的细化,同时又不显繁琐。 队友的项目分为两个cpp文件和三个头文件。

    cpp文件中为功能函数的定义,头文件中包含类的定义。值得一提的是,队友新建了一个question_sys.h文件,在该文件中包含源文件所需的库函数的所有头文件,在源文件中只需包含这一个头文件即可,让代码更加简洁明了,是一个小巧思。
  2. 根据项目类型,队友建立了两个抽象类,分别为Teacher类和Question类。每一个具体类都继承了一个抽象类。如PrimarySchoolQuestion、MiddleSchoolQuestion、HighSchoolQuestion类继承了Question类,这样便于功能的扩展。新建的子类,通过注入接口能够便利的与系统原有架构发生联系。如果日后项目改动,需要加入新要求的题目,如要求包含积分、坐标,可以根据该抽象类再建立出新的子类。这体现了队友良好的抽象概括能力,值得我学习。
  3. 在页面切换之间设置了sleep休眠函数,方便用户观察提示信息。在每个功能切换之间,运行界面会清屏,这样的设计让用户在操作多次的情况下,页面依旧干净整洁,用户观感好。
  4. 队友的代码严格遵循了代码规范。例如,队友的注释写得十分清楚,在每个函数的开头都写明了该函数的功能、输入、返回值,在每个文件的开头写明了该文件所实现的功能,在重要部分也给出了注解。再例如,队友规范使用名字空间,防止污染名字空间。最后,室友的函数名、变量名都很符合规范。诸如此类,让代码看起来赏心悦目。
  5. 在出题方面队友独具匠心。初中、高中的操作符,队友关心用户体验和题目的实用性,用括号来标识根号、平方、三角函数作用的数字范围,即可以出现类似7+(7*8)^2类型的题目,使题目看起来更加清晰明了,也符合实际要求。
  6. 队友熟练使用c_str()函数,实现了string转换到char,解决了scanf读入中文会产生乱码,导致输入正确信息却无法登录的问题出现。

  7. 登录信息、已出过的题目均保存在文件中,日后增加用户非常方便,此外,这样的查重方式为结对项目编写提供了灵感。

(二)缺点:

  1. 生成题目时需要先包含用户名文件夹,否则在生成时会生成错误信息。这样在日后有大量新加入用户的需求时,准备工作会比较繁琐,需要大量创建文件夹。
  2. 每个操作数左边只能有一个左括号,且右边只能有一个右括号。
  3. 在“输入出题数量(-1退出登录)”这里缺少一点提示信息,可以进行改进。

     

三、总结

   通过这次个人项目的编写和结对伙伴对互相项目的分析,让我发现了对方的长处,也认识到了自己的不足。同时,对方的代码为我解决一些困难问题提供了思路。相信我们会一起进步!

标签:功能,题目,登录,项目,代码,队友,卷子,中小学
From: https://www.cnblogs.com/bbsys/p/17715589.html

相关文章

  • HNU 个人项目(中小学数学卷子自动生成程序)互评
    目录一.简介二.测试与分析1.黑盒测试2.白盒测试三总结一.简介本篇博客为对结对编程队友朱俊文同学的个人项目(中小学数学卷子自动生成程序的)的评价。首先在这里特别感谢我的结对编程伙伴朱俊文,个人项目互评中,为我的项目提出了很多很好的建议,让我在认清自己不......
  • HNU个人项目评测—中小学数学试卷自动生成程序
    目录一.简介二.测试与分析1.黑盒测试2.白盒测试三.总结合理性不合理性四.一点小小展望一.简介本博客是针对结对编程队友苟怀炜同学的个人项目代码所写的分析与总结,代码使用语言为Java,与本人项目所用编程语言一致。为了更好的实现结对项目功能,在评价苟怀炜同学的代码时,我会学习他......
  • 科技云报道:青云科技为何成为IDC云转型的“神队友”?
    科技云报道原创。如今随着出海企业数量的不断增长,跨境业务也逐渐从蓝海变红海,从“价格战”到“智能战”。一个明显的变化,来自企业对于出海效率的提升。《埃森哲2022中国企业国际化研究》指出,企业想要在出海浪潮中取胜,坚强可靠、安全合规的数字化基础设施是保障全球化经营的数字化技......
  • 【230901-7】有8位学生,其中小学生2名,初中生3名,高中生3名,现将他们排成一列,要求2名小学
    【230901-7】有8位学生,其中小学生2名,初中生3名,高中生3名,现将他们排成一列,要求2名小学生相邻,3名初中生相邻,3名高中生任意两名都不相邻,则不同排法有几种?......
  • 中小学教育综合管理平台源码,vue2+Java+springboot框架开发
    智慧校园电子班牌软件是出于校园考勤管理以及班级校园信息展示为目的的显示系统软件,电子班牌系统主要用于中小学教育的综合管理平台,融合了多媒体技术、语音技术、人脸识别、信息发布、后台管理等多种技术。智慧班牌通过以云平台为基础,结合互联网、物联网系统进行校园管理,实现学校数......
  • 瑞熙贝通中小学实验室信息化管理系统--整体解决方案
    随着教育水平不断前行发展,各类校园也紧跟现代教育建设要求,不断提升教育实训及实验教学水平。与此同时,校园已走上教育现代化与智能化管理的道路上,校园实验室综合管理平台搭建助力智慧校园进一步提升教学水平。随着教务管理实行“学分制”改革的不断深入,传统的按照班级集体上实验课的......
  • 学习笔记409—中小学NB资源汇聚!
    中小学学习工具及资料:一、网页:      1.https://basic.smartedu.cn/syncClassroom/prepare(国家中小学智慧教育平台)      2.https://www.eduyun.cn/(国家教育资源公共服务平台)      3.https://syzx-edu.com/new/#/(全国中小学实验在线平台)     ......
  • 适合中小学学生初次学习编程语言Scratch
    2023年4月接触了Scratch,不用写代码,全图形化,拖动图标即可完成编程,简单几步能做出‘切西瓜'等小游戏或效果。入门简单Scratch适合中小学学生初次学习编程语言时使用,尤其是没有编程基础或编程基础较少的孩子,用来进行编程启蒙最合适不过了。 内容丰富Scratch编程内容丰富,形式多......
  • 案例分享-被*队友的mybatis蠢哭的一天
    昨晚加班的时候被队友拉着看一个mybatis的问题,耗费了我一个小时时间,最后差点没被我打死,实在是觉得滑稽,今天回家写下来跟大伙分享一下。问题现象Invalidboundstatement(notfound),看到这个错我当时就没兴趣了,我说你这不就是xml里没写xxxMapper.java方法对应的语句吗,这还有啥犹......
  • 如果我要开发一个中小学生学习的数学软件,我应该找谁去做用户调研
    如果我去开发一个中小学数学学习数学的软件,那么首先我会知道这个软件的绝大部分受众用户是中小学生,对于学习当然是自己对自己的学习情况和方法最为了解,因此我会用调查问卷并实地去询问一些中小学生的意见和学习方法。其次由于中小学生可能并不会具有较好的学习方法以及习惯,因此我......