中小学生自动出卷系统——个人项目结对编程分析

在对刘同学的代码进行学习之后,结合我自己项目的开发经验,我尝试对其代码文件作出分析,希望能在过程中收获更多,取长补短。

优点:

  1. 代码的层次分明,贯彻了面对对象设计的理念,除主类外分为login、create、accounts三个类,对应了登陆,出题,账户三个在需求中的重点部分。把界面操作、数据处理和数据存储分离。
  2. 编程风格统一,函数命名符合规则,可以清晰分辨函数与变量,并从函数名或变量命直接联系到其作用与意义。代码注释清晰,简洁,有重点。
  3. 可扩展性,可复用性,可维护性强。代码功能基本上都集成在各个函数当中,通过函数调用来实现各个功能的整合,便于在debug维护过程或复用过程中直观地修改程序而不影响其余功能的实现。
  4. 应用了set数据结构进行查重,简化了代码,值得借鉴。

缺点:

  1. 界面设计与需求有一点偏差,没有完全符合切换用户与出题选择的并行处理。
  2. 对于成员变量没有使用m_xx的方式命名,可能对分辨变量作用范围造成一定的影响。
  3. 封装性一般,没有封装各个类当中类本身的功能函数,有潜在的隐患。
  4. 出题逻辑仍有不足,括号与题目合理性未进行判断。

原文地址:https://www.cnblogs.com/TheoLi/p/11551780.html

时间: 2024-10-05 23:45:55

中小学生自动出卷系统——个人项目结对编程分析的相关文章

地铁线路项目-结对编程

地铁线路项目-结对编程 2019.7.25 完成了模块开发:填写PSP实际完成时间:完成了模块设计:进行单元测试.黑盒测试. PSP表记录: PSP2.1 Personal Software Process Stages Time Real Time Planning 计划 1h 1h ??·?Estimate ?? ·?估计这个任务需要多少时间 1h 1h Development 开发 21h 20.5h ??·?Analysis ?? ·?需求分析?(包括学习新技术) 2h 1.5h ??·

在线出卷系统的设计与实现

总体需求 在线组卷功能 审核功能 日志功能 试卷编辑功能 组卷算法 试卷的导入导出功能 - 需求分析 一.选定基本框架 由于本系统是多用户.多视图.基于网页呈现的,因此,对数据对象的传输很频繁. 故选定MVC4作为后端框架,并以jQuery为前端框架.其中,MVC框架的设计便于快速开发. 以Entity Framework及LINQ实现ORM,做到不用手写SQL代码. 二.确定基本功能 基于需求,可归纳出以下功能: 用户管理 用户组管理 试题管理 试卷管理 出卷 日志查看 试卷导出 - 设计与实

中小学题目生成项目结对编程代码分析

此篇博客是对杨同学的个人项目“中小学数学卷子自动生成程序”的代码分析. 完成自己的个人项目之后再来看杨同学的项目,会比较容易看出他人程序与自己程序的不同之处. 优点: 由于感觉自己的程序最不足的地方在于括号的添加,所以首先关注杨同学题目中的括号是怎么生成的. 我的括号是在算式生成的过程中随机添加的,导致只能生成括号内括号,而不能生成两个相互独立的括. 类似下图 而对方的代码是在算式生成之后添加的括号, 如下图 并给算式中的每个数字左右两边分别建了两个数组来记录括号的个数,这样就解决了我没有实现的

实例讲解遗传算法——基于遗传算法的自动组卷系统【C#版源代码】

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace YiChuan {     public class YiChuanTest     {         #region 权重         /// <summary>         /// 知识点分布权重         /// </summary>         public sta

结对编程 --- 分析搭档个人项目代码

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

带UI的小初高数学学习软件---结对编程分析

优点: 1.编程风格统一,函数命名符合规则,函数与变量便于分辨,也很容易从命名懂得其实际意义.代码注释简洁,重点突出. 2.将代码分类三部分,分别实现登录及类型初始化,生成试卷,用户信息类,层次清楚明白,便于修改.各个函数分工明晰.代码的封装性较好. 3.存储生成试卷时还按照类型进行了分类,使结果更为清晰明白. 4.利用文件读入做了题目的重复检测. 缺点: 1.功能实现不完整,未完成对括号的添加. 2.生成题目时运算值可能不够严谨,未对此进行合理性检测. 总结: 对方的代码有很多值得学习的地方.

遗传算法在自动组卷中的应用

遗传算法 遗传算法(Genetic Algorithm)是一种模拟自然界的进化规律-优胜劣汰演化来的随机搜索算法,其在解决多种约束条件下的最优解这类问题上具有优秀的表现. 1. 基本概念 在遗传算法中有几个基本的概念:基因.个体.种群和进化.基因是个体的表现,不同个体的基因序列不同:个体是指单个的生命,个体是组成种群的基础:而进化的基本单位是种群,一个种群里面有多个个体:进化是指一个种群进过优胜劣汰的自然选择后,产生一个新的种群的过程,理论上进化会产生更优秀的种群. 2. 算法流程 一个传统的遗

《基于遗传算法的自动组卷系统设计与实现 》17

一.基本信息 标题:<基于遗传算法的自动组卷系统设计与实现 > 时间:2016 来源:西北农林科技大学 关键字:自动组卷:遗传算法:早熟:收敛 二.研究内容 问题定义:针对传统的组卷算法组卷速度慢.成功率较低.试卷质量不高的问题,本文提出结合BP算法对遗传算法中遗传因子进行学习训练,提高染色体的适应度,采用目标试卷的题数进行实数编码替代传统的二进制编码方式,对染色体长度进行优化,解决传统遗传算法出现早熟.收敛慢的现象.利用优化的遗传算法设计并实现一个自动组卷系统. 三.流程图 四.总结 通过阅

结对编程—黄金点游戏WinForm单机版

本小游戏场景来自邹欣老师的<移山之道>一书: "阿超的课都是下午两点钟,这时班上不少的同学都昏昏欲睡,为了让大家兴奋起来,阿超让同学玩一个叫"黄金点"的游戏:N个同学(N通常大于10),每人写一个0~100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值.提交的数字最靠近G(取绝对值)的同学得到N分,离G最远的同学得到-2分,其他同学得0分.玩了几天以后,大家发现了一些很有意思的现象,比如黄金