第二次结对编程作业
第二次结对编程作业
链接
结对同学的博客链接:https://www.cnblogs.com/Sugar-Chl/p/11726670.html
本作业博客的链接: 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|对代码编程有更深的理解