第二次结对编程作业

天大地大妈咪最大 提交于 2019-12-02 02:46:55

##第二次结对编程作业 ##


链接

结对同学的博客链接: 本作业博客的链接: 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 学习了墨刀的使用方法,十三水的规则
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!