结对编程实验 第一次实验报告

一、添加组队信息

队名:有福同享有难退群

成员:李伟(博客:https://www.cnblogs.com/lw484014130/)

           李相杰(博客:https://www.cnblogs.com/Hypocrise/)

仓库地址:https://github.com/lw484014130/my-travel-plans.git

课题:四则运算

 

组队操作https://www.cnblogs.com/lw484014130/p/12467824.html

其中主要用到的操作为先fork对方的仓库,将对方的仓库项目克隆到本地之后,让自己的本地仓库和对方的仓库建立连接,建立连接所需要的指令为 git remote add .......

 

 

 之后将自己在本地做的修改做add和commit操作之后,就可以通过pull request将更改发给原作者,之后等待merge就可以了。

 

 

 

 

二、敏捷开发和结对编程

          敏捷开发Agile Development),是一种以人为核心、迭代、循序渐进的开发方式,是一种软件开发的流程。它会指导开发人员用规定的环节去一步一步完成项目的开发。由于它采用迭代式开发,所以它主要的驱动核心是人,而不是像瀑布模型那样,以文档为核心。敏捷开发更注重的人与人之间的沟通、交流。它认为个体和交互胜过过程和工具,可以工作的软件胜过面面俱到的文档,客户合作胜过合同谈判,响应变化胜过遵循计划。虽然右项也有价值,但是敏捷开发认为左项具有更大的价值。迭代是指把一个复杂且开发周期很长的开发任务,分解为很多小周期可完成的任务,这样一个周期就是一次迭代的过程,同时每一次迭代都可以生产或开发出一个可以交付的软件产品。(原文:https://blog.csdn.net/runOnWay/article/details/80431888)

  

   结对编程(英语:Pair programming)是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员)。两个程序员经常互换角色。
  在结对编程中,观察员同时考虑工作的战略性方向,提出改进的意见,或将来可能出现的问题以便处理。这样使得驾驶者可以集中全部注意力在完成当前任务的“战术”方面。观察员当作安全网和指南。结对编程对开发程序有很多好处。比如增加纪律性,写出更好的代码等。
  结对编程是极端编程的组成部分。(原文:https://baike.baidu.com/item/%E7%BB%93%E5%AF%B9%E7%BC%96%E7%A8%8B/7526152?fr=aladdin
 
 

三、课题的理解和讨论

    本次的课题要求和规则如下

   开发一个自动生成小学四则运算题目的命令行 “软件”。实现 输入你要出题的个数,随机产生四则运算,然后用户回答,并且进行打分。

    规则:用随机数实现100以内的加、减、乘、除运算,其中和与积不能超过100,差不为负(即须大减小),商不为小数或分数(即必须整除)。要求总计输出10个运算式,每输出一个运算式,等待输入结果,然后进行对错判断并输出。最后输出统计答对的题数与分

    (1) 因为题目要求为自动生成题目的软件,所以需要一个能够生成随机四则运算的类ProduceProblem。其功能要求为能够生成随机数并用随机的四则运算的符号将生成的随机数连接起来,将结果打印出来

  同时为了控制生成的题目的个数,在生成题目之前会要求从键盘输入需要生成的题目的个数。

 (2)其次需要一个类Translate将上一个类中生成的中缀表达式转换为后缀表达式且保存,需要定义一个栈再按照栈的操作,对式子进行遍历重排。(只给出题目,结果并未计算)

    (3)再次我们需要将保存起来的表达式进行运算,及引用一个新类Count对上述的后缀表达式进行遍历,然后运算结果。

    (4)最后是小学生作业系统的核心,需要一个类Judge进行作业批改,且将对错与否传递给主类进行统计。(将得到的结果和输入的结果按顺序存放后进行比对,统计其中相同的结果个数)

 

  

posted @ 2020-03-21 18:25  Hypocrise  阅读(351)  评论(1)    收藏  举报