第二次结对编程作业
1、博客链接
2、具体分工
我:代码、博客
同学:代码、博客
3、PSP表格
|PSP|Personal Software Process Stages|预估耗时(分钟)|实际耗时(分钟)|
|-|-|-|
|Planning|计划|20min|30min|
|Estimate|估计这个任务需要多少时间|10min|10min|
|Analysis|需求分析 (包括学习新技术)|7d|12d|
|Design Spec|生成设计文档|30min|30min|
|Coding Standard|代码规范 (为目前的开发制定合适的规范)|10min|10min|
|Design|具体设计|2h|2h|
|Coding|具体编码|2d|4d|
|Test|测试(自我测试,修改代码,提交修改)|2h|2h|
|Postmortem & Process Improvement Plan|事后总结, 并提出过程改进计划|1h|1h|
||合计|11d|17d|
4、解题思路描述与设计实现说明(15分)
- 网络接口的使用:
- 代码组织与内部实现设计(类图):
- 说明算法的关键与关键实现部分流程图:
5、关键代码解释
- 这个是出牌AI的代码,AI会先查找是否有特殊牌型,如果没有再根据普通规则出牌
class AI {
private Card pokerCard[]=new Card[13]; //十三张牌
void getCard(int hs,int sz,int ps) //获得一张牌,hs为花色,sz为数字,ps为牌序
{
pokerCard[ps]=new Card();
pokerCard[ps].colour=hs;
pokerCard[ps].number=sz;
}
void sortCard() //将获得的牌进行排序,以便后边出牌时查找
{
Card k=new Card();
int i,j;
for (i=0;i<12;i++)
{
for (j=i+1;j<13;j++)
{
if (pokerCard[i].number>pokerCard[j].number)
{
k=pokerCard[i];
pokerCard[i]=pokerCard[j];
pokerCard[j]=k;
}
}
}
}
void playCard() //经过计算输出
6、性能分析与改进
- 描述改进思路
- 展示性能分析图和程序中消耗最大的函数
7、单元测试
- 展示出项目部分单元测试代码,并说明测试的函数,构造测试数据的思路
8、贴出Github的代码签入记录
9、遇到的代码模块异常或结对困难及解决方法
- 问题描述:接口不知道如何编写,客户端也不会做
- 做过哪些尝试:尝试着在网上查找资料
- 是否解决:没有解决
- 有何收获:做一个程序不止是要会写代码,还要接口、客户端等许许多多方面。只有这些全都做好才能完成一个好的作品
10、评价你的队友
- 值得学习的地方:乐于学习
- 需要改进的地方:沟通太少
11、学习进度条
|第2周|新增代码(行)|累计代码(行)|本周学习耗时(小时)|累计学习耗时(小时)|重要成长|
|-|-|-|
|1|125|125|12|12|熟悉了java的用法,学会设计原型|
|2|400|525|36|48|学会java更多用法|