结对编程(Java实现 With温治乾3117002323)
Posted GordonKowk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结对编程(Java实现 With温治乾3117002323)相关的知识,希望对你有一定的参考价值。
一 、Github项目地址:https://github.com/GordonKowk/GatherTeam-Item
二、PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 45 | 60 |
· Estimate | · 估计这个任务需要多少时间 | 40 | 42 |
Development | 开发 | 1090 | 1205 |
· Analysis | · 需求分析 | 60 | 70 |
· Design Spec | · 生成设计文档 | 35 | 40 |
· Design Review | · 设计复审 | 50 | 60 |
· Coding Standard | · 代码规范 | 30 | 40 |
· Design | · 具体设计 | 80 | 85 |
· Coding | · 具体编码 | 700 | 750 |
· Code Review | · 代码复审 | 45 | 55 |
· Test | · 测试(自我测试,修改代码,提交修改) | 90 | 105 |
Reporting | 报告 | 120 | 150 |
· Test Report | · 测试报告 | 60 | 80 |
· Size Measurement | · 计算工作量 | 30 | 30 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 30 | 40 |
合计 | 1255 | 1415 |
三、遇到的问题&解题思路:
1)我们一开始讨论了应该怎么去实现基本的数值运算。如果按照平常电脑支持的四则运算,整数int的加减乘除都是比较容易实现的,但是对于真分数,格式是要我们设计的,那么分数里面的各种数值 则需要一种算法支撑它们。所以我们最先讨论这个项目的操作数应该以怎样的形式出现,最后是选择了用整形数组的形式int[]{a,b,c}实现一个操作数。好处在于它整数部分,分子分母都是分开的,可以各自独立操作,但是这样会使得算法上的分类比较多。区分真分数和整数的标志在于数组的b,c值,如果都不为零,就是真分数,否则为整数。
2)随机生成是这个项目的核心部分。任何一个操作数,操作符以及它们的个数都是随机的。所以我们先考虑哪一种方法产生的式子可以符合我们操作数形式的运算。我们先让操作符个数和下标先确定下来。操作数的数量与操作符数量成+1关系,然后每次随机生成一个操作数,再在这个操作数后面添上一个操作符。考虑到假设用户是小学生,那么式子肯定都不全是真分数,所以我们让真分数和整数的生成几率平均下来。由于每个操作数生成的初始状态都是真分数,所以必须设置方法约分,区分整数和分数。
但是我们已经确定了操作数形式,就按这个方向走下去。设计中经常出现过很多问题,不得不在每一个方法函数调用main函数取调试,甚至想过放弃这个方向,但是还是坚持下来,
以上是关于结对编程(Java实现 With温治乾3117002323)的主要内容,如果未能解决你的问题,请参考以下文章