当前位置: 首页 > news >正文

20172303 20172322 2017-2018-2 《程序设计与数据结构》结对编程项目-四则运算 项目总结...

20172303 20172322 2017-2018-2 《程序设计与数据结构》结对编程项目-四则运算 项目总结

结对对象

  • 姓名:张昊然
  • 学号:20172322
  • 码云地址
  • 第一周博客地址
  • 第二周博客地址
  • 担任角色:
    • 领航员:范雯琪
    • 驾驶员:张昊然
    • 所有基础要求已经满足,另虽然我们是两人小组,但是也实现了括号(虽然不尽完美),拓展需求中的文件处理也在上周的编写中实现,本周主要的主要完成的内容是对代码进行JUnit测试,首先我们先复习了上回实验学的JUnit的相关内容,我比范雯琪看得快,所以我先开始了测试类的编写,在看完之后两个人一起讨论了测试类的思路,在进行了一些尝试后决定使用我的思路,代码的编写还是由张昊然完成。

需求分析

第一周实现的需求:

  • 可自动生成题目,题目的难度和数量可由用户自己输入
  • 题目支持整数、真分数和加减乘除四则运算
  • 可判断用户答案是否正确并输出正确答案,最后计算用户的正确率

第二周主要实现的拓展需求:

  • 文件处理:在实现上周的要求下将随机生成的题目放入Exercises.txt文件中,让用户在其中写出答案后保存文件,运行另一个类使得题目得到判断,并且使得判断结果生成在ExercisesResult.txt文件中。

本周主要实现的要求:

  • 完善规范了部分代码的写法,增加了一些批注,修改了一些小错误,尝试改进括号_(:з」∠)_
  • 完成对Calculator类、InfixToSuffix类和RationalNumber类的测试。
    1333109-20180515203112171-514242441.png

1333109-20180515203119247-11658563.png

1333109-20180515203124690-1104992093.png

设计思路

  • 主要思想:使用Junit4进行测试。
    • 对"Calculator"(计算类)测试运算符、后缀式计算、真分数化简。
    • 对"InfixToSuffix"(中缀转后缀)测试中缀表达式转为后缀表达式是否正确。
    • 对"RationalNumber"(有理数的运算)测试两个有理数(分数)的获取其分母、分子、和它们的加减乘除和倒数。
  • UML图
    1333109-20180508221444679-184260832.png

相关过程及解释

  • 本周主要实现对"Calculator"(计算类)"InfixToSuffix"(中缀转后缀)"RationalNumber"(有理数的运算)三个类的测试。
    • 之前的比较完善的编程让本周测试类的编写比较容易,主要是对最初思考需求实现的复现,或许在"Calculator"(计算类)"中所取的数不太好算,但是都是计算好以后再写入测试类中。

遇到的困难及解决方法

  • 本周编写测试类遇到最大的困难就是进行的过于顺利以至于我们找不到可以写下来的有意义有价值的困难和解决方法_(:з」∠)_

团队共同成果

  • 我们觉得在两人组中我们的“四则运算”编程项目已经算做得不错了,虽然括号没有完美实现。在编写完测试类后我们都炒鸡开心,这个持续三周的大项目被搞定啦!!!!
    放上一张结对编程的图片1333109-20180515203634073-1434701735.jpg

小组最终贡献度划分

  • 张昊然:55%
    • 主要贡献:前期大部分代码的编写,中期文件处理的代码实现,后期JUnit测试类的编写,提供中缀转后缀和如何在题目中加括号的思路,修改和完善代码内容
  • 范雯琪:45%
    • 主要贡献:确定项目中类的个数及相应的功能,加括号部分代码的编写,前期小部分代码的编写文件处理和测试类的思路提供,修改和完善代码内容和规范
  • 划分依据:我们在商量了好久之后决定还以延续上周的贡献度划分,我们组划分贡献度的主要依据是编写的代码量,因为这个项目的代码量真的真的真的不小,其次是思路提供,然后是博客编写,最后再考虑一些杂七杂八的小项。

成员项目感想

  • 张昊然:一开始在接到这个项目的时候真的觉得自己很难完成,但是在经过两个人的努力,不仅完成了项目的基础需求,还完成了部分拓展需求,真的很开心,真的超有成就感,感觉经过这三周的编程,自己的相关知识也增长了很多,现在越来越感受到了JAVA这门编程语言的吸引力,希望自己能够再接再厉,不忘初心,继续前行!
  • 范雯琪:现在不禁感慨终于把这个项目做完了,刚开始真的觉得有种举步维艰的感觉,不知道从哪里下手,后来硬逼着自己一块一块的啃下来,现在回想起来还是很有成就感的!其实大部分工作都是在第一周完成的,第二三周相对就轻松了许多。在这个过程中要感谢我的结对小伙伴张昊然同学,我一直觉得他在这个项目中付出的比我多得多,真的是非常辛苦了。

参考资料

  • 现代软件工程讲义 个人项目和结对项目练习 四则运算
  • 结对编程练习_四则运算
  • 栈的应用
  • 结对编程项目-四则运算
  • 结对编程练习_四则运算

转载于:https://www.cnblogs.com/PFrame/p/9042935.html

相关文章:

  • telnet: connect to address 192.168.2.140: Connection refused
  • Java8学习笔记之Stream API
  • 国资委监事会主席季晓南:大数据金融发展要加强风险管控
  • 原生js获取、设置、删除属性
  • Linux安装mysql5.6
  • Python学习笔记__16.3章 UDP编程
  • 稳中有降 7月单路塔式服务器价格指导
  • Python入门知识
  • 云市场虽已硝烟弥漫但仍潜力巨大
  • Linux-系统启动和内核管理
  • memcache
  • 电商产品设计:会员系统
  • groupby()
  • 加固mysql服务器
  • Unity Excel转Json小工具excel2json
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • ComponentOne 2017 V2版本正式发布
  • iOS | NSProxy
  • isset在php5.6-和php7.0+的一些差异
  • Iterator 和 for...of 循环
  • Java教程_软件开发基础
  • nodejs:开发并发布一个nodejs包
  • React+TypeScript入门
  • React-生命周期杂记
  • Shell编程
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 分享一份非常强势的Android面试题
  • 浅谈Golang中select的用法
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 如何用vue打造一个移动端音乐播放器
  • 三分钟教你同步 Visual Studio Code 设置
  • 数据仓库的几种建模方法
  • 再次简单明了总结flex布局,一看就懂...
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • k8s使用glusterfs实现动态持久化存储
  • Python 之网络式编程
  • #HarmonyOS:Web组件的使用
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (14)Hive调优——合并小文件
  • (poj1.2.1)1970(筛选法模拟)
  • (rabbitmq的高级特性)消息可靠性
  • (二)springcloud实战之config配置中心
  • (六)c52学习之旅-独立按键
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (转)shell中括号的特殊用法 linux if多条件判断
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • ***详解账号泄露:全球约1亿用户已泄露
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .net CHARTING图表控件下载地址
  • .NET Core 项目指定SDK版本
  • .Net MVC4 上传大文件,并保存表单
  • .net 生成二级域名