第二次结对编程作业
链接
结对同学的博客链接:
本作业博客的链接: https://www.cnblogs.com/Sugar-Chl/p/11726670.html
Github项目地址:https://github.com/SugarChl/ThirteenWater
具体分工
PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 20 |
Estimate | 估计这个任务需要多少时间 | 20 | 30 |
Development | 开发 | 600 | 600 |
Analysis | 需求分析 (包括学习新技术) | 120 | 200 |
Design Spec | 生成设计文档 | 20 | 20 |
Design Review | 设计复审 | 30 | 30 |
Design | 具体设计 | 60 | 100 |
Coding | 具体编码 | ||
Code Review | 代码复审 | 20 | 20 |
Test | 测试(自我测试,修改代码,提交修改) | ||
Reporting | 报告 | 60 | 60 |
Test Repor | 测试报告 | ||
Size Measurement | 计算工作量 | 20 | 20 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 50 | 45 |
| | 合计|1030|1145
解题思路描述与设计实现说明
网络接口:
无网络接口的使用
代码组织与内部实现设计:
算法的关键与关键实现部分流程图:
关键代码解释
def trans_cards(cards):
F, N = [], []
for card in cards:
if card[1] == "J":
N.append(11)
elif card[1] == "Q":
N.append(12)
elif card[1] == "K":
N.append(13)
elif card[1] == "A":
N.append(14)
elif card[1:] == "10":
N.append(10)
else:
N.append(int(card[1]))
F.append(card[0])
return F, N
该代码将牌型的列表,转化为花色,数字两个列表,有利于后续的操作。
性能分析与改进
改进的思路:
对于分牌的算法还有比较大的缺陷,可能会出现相公。然后对于各个牌型的匹配是按顺序从大到小进行的,性能上还有改进的空间。
后续可以把串行的牌型匹配改成并行的。这样就大大加快的分牌算法的性能。
同时还有对可能出现相公的情况进行规避
性能分析图和程序中消耗最大的函数:
无
单元测试
测试代码:
无
测试的函数:
无
构造测试数据的思路:
无
遇到的困难及解决方法
困难描述
对于界面设计没有经验
解决尝试
通过百度、视频来学习相关知识,加深对界面设计的了解
是否解决
是
有何收获
碰到新知识时不要畏惧,要勇于挑战
评价队友
值得学习的地方:
队友非常负责任,认真完成了任务
值得改进的地方
学习进度条
第N周 | 新增代码(行) | 累计代码(行) | 本周学习耗时(小时) | 累计学习耗时(小时) | 重要成长 |
---|
2|0|0|12|12|学习了墨刀的使用方法,十三水的规则