##第二次结对编程作业 ##
链接
结对同学的博客链接: 本作业博客的链接: 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 | 学习了墨刀的使用方法,十三水的规则 |