结对项目(附加题)

结对项目成员:徐丞(13061203) 赖彦谕(13061212)

[附加题]第四阶段目标 - 界面模块,测试模块和核心模块的松耦合。

我们小队是和付帅,赵庶宏组进行了交换测试,我们导出的静态链接库(.lib),然后在界面里include来调用。我们两个组都是用C++写的程序,用MFC写的界面。遇到的主要的问题,就是因为我们的想法有一些不同,

API接口的设计和他们设计的接口有些不一致,所以导致我们的模块和他们的界面模块不能很好的连接。

为了解决这一问题,如果要修改我们设计好的API,那么就会修改之后的很多参数,可谓牵一发而动全身,非常复杂。而如果按我们API的形式修改他们的界面,也达不到交换测试的目的了。最后我们的解决方案是,在我们的代码的

基础上增添新的API接口,这个API接口会接受外界传入的参数,并将其进行整合,修改,然后再调用我们原来的的API进行计算,相当于在API的接口上又套了一层接口,使的我们的模块和他们的界面可以连接起来,解决了这一问题。

交换测试主要发现了一个比较重要的bug,就是输入的计算表达式过长时会产生溢出的情况,我们的程序设的是int64位整形变量,但是在他们组恐怖的超大超长表达式的测试下还是溢出了,为了解决这一问题,我们从网上查找了相关

文档发现C++并没有提供像C#中checked,unchecked检测溢出的库函数,所以我们最后采用的方案是,限定输入的表达式长度不能超过200,单个操作数的大小不可以超过200,来避免这种情况。。。

[附加题]第五阶段目标 - 通过增量修改的方式,改进程序,完成对各种错误情况的处理。

关于错误处理,采取抛出异常外部捕捉的方式,由于C++的throw方法可以抛出字符串,常量,表达式对象,所以在处理异常方面,我们并没有单独设计异常类,而是采取直接抛出字符串的形式

Operand类,抛出:

  操作数格式错误异常;

  分母为0异常;

  操作数范围越界异常;

  无法生成要求数量的表达式异常;

  除数为0异常;

Formular类,抛出:

  表达式格式错误异常;

  除数为0异常;

StuCalculator类,抛出:

  参数不合法异常;

文件路径不存在异常;

时间: 2024-08-03 15:40:29

结对项目(附加题)的相关文章

结对项目附加题

我们与刘乾组进行了互换.附加题目遇到的问题比较多,且有些直到最后也难以解决. 其中最主要的问题在于,刘乾组的代码在给我们的时候并没有完全封装成dll的样子,虽然文档里列出了一些接口,但实质上都是一些可以直接使用的类.虽然能实现所有的功能,但形式上并不是我们想象中接口的样子.我们尝试将他们的数据结构转换为我们的数据结构,之后再做一个适配层,利用他们提供的接口,实现我们所定义的几个接口.然而,由于在接口的设计上大相径庭,完成这一转换所需的工作量相当大.于是,最终的适配层放弃了进行数据结构及接口的转换

【评分】结对编程附加题

一.作业要求 结对编程之附加题:单元测试 二.评分标准 检查项 备注 分值 Blog 学号+姓名+Coding地址 1   需求分析:测试上有哪些需求 1   描述单元测试的每个环节 2   比较测试结果和实际结果 2   代码覆盖报告,如果没有100%覆盖,为什么 1   小结,是否有效发现了程序计算模块问题,并给予改进 1   看以前写的代码的感受 1   两个的照片 0.5 Coding 结对,两个人的commit 1   将计算相关的代码放到新创建的 Calculator 类 1   将

结队项目——附加题

代码本身是与地图无关的,对于地图的限制仅仅是格式,以及不能过多的站和线路(前者不能超过500后者不能超过50条).格式为,先是 序号 站名 后一个空行后为 线路名 站序号列表 例子如下,因为程序的地图无关性,使用各式各样的地图都能使其正确运行,故即便是随手捏来的一个地铁图都能正确运行,下面给出的就是一个随手捏的城市地铁 1 Xie 50 2602 Ji 100 4723 Yang 250 1404 Zhen 172 2005 Wei 125 1386 Hao 255 3907 Jin 380 3

结对项目(附加题)开发总结

结对项目(附加题)开发总结 这次附加题的任务就是把两个小组写的独立的UI和CORE模块打乱重组,拼接成一个新的APP. 我们小组选择了大神刘乾所在小组和我们合作交换.一拿到乾神的核心代码,我不得不说,乾神就是乾神,代码一出,直接把我镇住了,各种参数看不懂咋办?咋写UI? 还好我们的乾神同志给我们提供了帮助文档,介绍了各个参数的作用,现摘录如下: 对于计算表达式的值(CALC模式): AnswerGet(string s)其中s是给定的算式,以等号结尾. 调用生成器时,使用: public Gen

[附加题] 结对项目对接的苦痛

[附加题] 结对项目对接的苦痛 本次很荣幸地,我的程序作为很多程序员队伍的备胎计算模块被加入了各大程序的附加题参考中,有以下几位同学都曾与我进行模块的对接: GNU_Linuxer 马克斯 kanelim PocketPanacea kibbon ruoyuwang 夜微凉evol 先来谈谈我作为计算模块的提供者的感受吧: 总的感受就几个字:请别吐槽我了... 我的代码质量我觉得还是可以的,但是在这过程中出现的最严重的问题是啥呢,是设计的问题,是设计者对于需求的理解和框架.接口统一与否的问题.

结对编程项目(除附加题)开发过程

结对编程项目(除附加题)开发过程 结对同伴:李云涛 一.照片 结对同伴在家,等回校后补上. 二.结对编程评价 优点: 1.两个人的编程思想.算法.代码风格可以互相借鉴和学习,对于两人的编程水平的提高都很有帮助. 2.两个人可以分工写不同的相对独立的模块,加快开发的进度. 3.自己程序的bug可能自己怎么找都找不到,而自己的同伴就能很快找到. 缺点: 有些工作必须得两人在一起才能进行,而两人都空闲的时间不是太多,很多时候需要通过线上进行交流,导致工作被耽搁. 我自己的优点:做事认真.有恒心.有学习

北京地铁_结对项目_附加题

地铁出行项目(续)- 附加题 团队成员:杨金键 谢振威 金豪 要求描述: 使程序支持不同城市的地图.请让程序能处理上海的地铁地图,或者其它城市的地图.把程序由 “固定处理一个地图” 升级为 “能处理多个地图”, 程序的什么模块需要变化? 其实,在我们设计程序之初就已经考虑到了程序将来的可扩展性,所以无论是地图储存文件还是代码我们都是从这个角度出发考虑的. 具体来说: 取消所有对于北京地图的特殊化处理,针对特殊的地方,例如环线或者单行线则定义关键词统一处理 所有地图相关信息都靠文件读取,避免地图相

结对项目——博客记录(附加题)

结对项目内容:http://www.cnblogs.com/jiel/p/4830912.html 结对成员:康家华,马腾跃(http://www.cnblogs.com/summerMTY) [附加题]第四阶段目标 - 界面模块,测试模块和核心模块的松耦合. 对于这个附加题,我们小队(A)决定和刘乾小队(B)的模块进行交换,于是在拿到对方的代码时,我们立刻就傻眼了. 不是说对方写的很差,相反,B小队的代码有刘乾的保证,质量很高.让我们傻眼的是因为我们的想法不是完全相同的,而我们设计的接口的要求

结对编程_附加题_博客2

1.界面模块,测试模块和核心模块的松耦合 2.改进程序 结对编程_附加题_博客2