结对编程——关于搭档代码的分析

一、个人项目需求

命令行输入用户名和密码,两者之间用空格隔开(程序预设小学、初中和高中各三个账号,具体见附表),如果用户名和密码都正确,将根据账户类型显示“当前选择为XX出题”,XX为小学、初中和高中三个选项中的一个。否则提示“请输入正确的用户名、密码”,重新输入用户名、密码; 登录后,系统提示“准备生成XX数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录):”,XX为小学、初中和高中三个选项中的一个,用户输入所需出的卷子的题目数量,系统默认将根据账号类型进行出题。每道题目的操作数在1-5个之间,操作数取值范围为1-100; 题目数量的有效输入范围是“10-30”(含10,30,或-1退出登录),程序根据输入的题目数量生成符合小学、初中和高中难度的题目的卷子(具体要求见附表)。

同一个老师的卷子中的题目不能与以前的已生成的卷子中的题目重复; 在登录状态下,如果用户需要切换类型选项,命令行输入“切换为XX”,XX为小学、初中和高中三个选项中的一个,输入项不符合要求时,程序控制台提示“请输入小学、初中和高中三个选项中的一个”;

输入正确后,显示“”系统提示“准备生成XX数学题目,请输入生成题目数量”,用户输入所需出的卷子的题目数量,系统新设置的类型进行出题;

生成的题目将以“年-月-日-时-分-秒.txt”的形式保存,每个账号一个文件夹。每道题目有题号,每题之间空一行;

二、优点分析

实现了基本功能,输入输出严格按照要求,能够生成符合要求的卷子;

卷子能正确地保存在文件中,并细心地输出了文件的保存地址;

大部分命名规范,注释适当,可读性强;

三、缺点分析

出题函数命名虽然易懂,但是不符合规范

生成题目的括号位置固定,不具备随机性

没有可以保证生成试卷不重复的手段,且一次只能生成一张试卷

原文地址:https://www.cnblogs.com/12-34/p/11552972.html

时间: 2024-07-31 03:45:27

结对编程——关于搭档代码的分析的相关文章

结对编程:队友代码分析

按照结对编程要求,对队友的代码进行分析.在代码中发现的问题可以提醒队友或者警示自己. 优点: 一.代码以外: 1.使用语言为Python,比起JAVA和C++方便许多,而且实现许多功能也方便许多,可以说是从开始就为拓展打好了基础.事实上也的确因为这点,我们选用了他的代码作为核心 2.文件按功能分为几个文件,命名为CreatSymbol.CreatFirst.CreatSecond.CreatThird.Test.各个函数位置明确,命名规范 3.注释详细且明确.文件/函数的开头都有注释,各关键部分

结对编程初体验——代码复审

这一次和室友结对编程,第一项任务就是互看代码.想到上一次这样认真看她的C++代码,是一年前学程序设计这门课时,帮她人工debug.虽然都是从头到尾认真读代码.通逻辑,感觉却是不同的,之前的关注点是bug在哪,而现在却是带着任务的,要关注代码核查表中的项目.结果看着看着,总感觉自己在找茬dbq 回归正题↓ 编译环境:Dev-C++ 5.9.2 程序语言:C++ (一)优点: 能发现的优点,大多都是自己的缺点 1.代码可读性强. 通过详细的注释,即便是我们两个的个人项目使用的不是同一种语言,我看懂她

对结对编程队友的代码分析

通过这次的个人项目以及和别人的代码比较完之后,我发现在做一个项目的时候,还是需要多写函数,一个好的代码一定是比较清晰的,像main函数就应该是越简单越好.本次结对同学的代码就是如此,将出题,计算等内容单独定义出来,所以在整个代码看下来之后感觉很有层次感,理解起来也会更加的容易.而且该同学在写代码的时候也写了好多注释,这是一个好习惯,对于自己以后再次看这个代码会有很大的帮助,这是值得借鉴的.因为定义了很多函数之后,在main函数只需要疯狂调用函数就会显得函数十分的整齐 同时巧妙的运用了goto函数

结对编程——对队友代码分析

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

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

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

结对编程之队友代码分析

优点: Java GUI界面: 界面简约,操作简单,实用性强   2 .独特的解题思想(上代码) //生成对应年级的题目     public String getSubject(int type) { Random rand = new Random(); int Num,NumOpe; if(type == 0)   NumOpe = 4; //小学运算符下标取前4个 else if(type == 1)  NumOpe = 12;    //初中运算符取前12个 else NumOpe =

结对编程_队友代码分析

项目需求:完成一个能够根据用户身份和用户请求自动生成小学,初中,高中试卷的程序,具体要求就不细说了. 队友代码的赏析:首先我得说说他的优点,不然你看缺点可能会很累(开个玩笑啦),程序的基本功能可以实现,能够对不同用户的不同需求通过随机数生成相应试卷,同时也能够创建txt文件在个人相对应的文件夹目录下,对于稳健操作的相关代码有一定的了解,实现通过循环输入判断输入是否合法,生成的三个等级的试卷有难度区分度并满足出题的基本要求. 不足: 1.从生成的题目来看,首先漏了两个要求,一个是比较难处理的括号问

结对编程队友个人代码分析

优点:代码整体结构完整,流程一目了然在进行文件流操作时,进行了相应的异常处理,文本框的提示显示也很美观.值得一提的是,代码实现了出题数量和切换难度在同一操作界面上进行. 缺点:没有创新性,流程一目了然,但为了解决流程上的瑕疵,不得不采取强制手段结束程序.在题目生成的方法采用的思路是随机生成,若不合格则重新生成,是一种很简单粗暴的方式,虽然结果有效,但效率肯定是不高的,另外,虽然生成括号的逻辑较完善,但对于括号的检测仍存在缺陷,会漏掉特殊的“无用”括号,目前发现了一种——...+(sin(...+

结对编程队友个人项目优缺点分析

程序运行结果截图(如下) 首先说一下对方的优点: (1)该程序输出的题目很整齐,每道题都有题号,数字和符号之间都有空格,每行题目之间一行空行,让人看起来不会有密密麻麻的感觉: (2)他的代码写了一个teacher类,一个老师账户对应类的一个实例,teacher类里有一个做试卷的函数: (3)生成题目的算法使用了二分法和递归,从而使得代码很简单,很清晰. 缺点在于: (1)分层不够明确,teacher类里面有很多函数并不属于老师的行为,比如有一个将整数转化为字符串的函数,这样的函数并不是老师的行为