第二次结对编程作业

若如初见. 提交于 2019-12-01 10:27:32

第二次结对编程作业

github地址:https://github.com/simplipy/031702408/releases/tag/十三水
结对同学的博客链接:https://www.cnblogs.com/Jardinxin/p/11674165.html
本作业博客的链接:https://www.cnblogs.com/buddlysue/p/11681373.html

一、具体分工

登陆注册 当前战况 排行榜 往期对战结果 详细历史战况 ai 交互
陈苏苏
严欣

二、PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 120 120
Estimate 估计这个任务需要多少时间 120 120
Development 开发 1090 2900
Analysis 需求分析(包括学习新技能) 540 600
Design Spec 生成设计文档 50 30
Design Review 设计复审 10 10
Coding Standard 代码规范 (为目前的开发制定合适的规范) 30 20
Design 具体设计 50 90
Coding 具体编码 1080 2000
Code Review 代码复审 120 100
Test 测试(自我测试,修改代码,提交修改) 30 50
Reporting 报告 50 60
Test Repor 测试报告 20 30
Size Measurement 计算工作量 10 10
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 20 20

三、解题思路描述与设计实现说明

🎈1、网络接口的使用

    (1)前端通过调用js文件来调用接口

    (2)js文件使用Ajax定义事件,从前端获取数据后将数据传到服务端,并把服务端respond的数据返回,判断后产生弹窗提示

🎈2、代码组织与内部实现设计(类图)

函数名 作用
Compare() 对13张牌 的数值进行排序
Count() 遍历数组,将不同花色、数值的数量进行统计
Sort() 对手中的牌(排除特殊牌型之后)进行分类并记录
Choose() 从分类中的牌型中选出最佳底中上墩

🎈3、说明算法的关键与关键实现部分流程图


排除特殊牌型,普通牌型就是不断用判断同花色的个数、数值大小进行区分,计算同花色、同数值的个数,选择合适的出牌方式。

四、关键代码解释

 主要实现的功能是类排序:通过compareTo的重写进行类排序。

五、性能分析与改进

改进的思路

 由于时间不够我们没能写出可以正确排序的算法,但是大致的思路是先区分牌的花色、数值,按照数值大小进行排序,然后统计有多少同花色、有多少对子三条能组成多少普通牌型,按照大小分墩。前端方面,接口暂时实现了三个页面,历史详细战况还没能实现,需要再尝试。

展示性能分析图和程序中消耗最大的函数

六、单元测试:展示出项目部分单元测试代码,并说明测试的函数,构造测试数据的思路

示例一:针对特殊牌型(目的是测试能否识别特殊牌型)
 输入: *6 *5 *9 &K &2 *3 $8 $9 &A &J *2 &7 $5 
 输出:
    $5 $8 $9 ,
    *2  *3 *5 *6 *9 ,
    &2 &7 &J &K &A 

示例二:常见牌型(目的是测试能否排序普通牌型)
 输入:#2 $5 #K $8 #9 $3 $10 &4 $7 *4 #4 $J &K
 输出:
   #2 #9 $10 ,
   $3 $5 $7 $8 $J ,
   &4 #4 *4 #K &K

七、贴出Github的代码签入记录:请合理记录commit信息

陈苏苏

严欣

八、遇到的代码模块异常或结对困难及解决方法

🎈1、问题描述

  (1)html学过但是css不会:写出来的页面都最原始最丑!

  (2)交互问题:我们真的不会交互!真的不会!太痛苦了!从开始学习交互,我们经历了:不知道要怎么用接口 ——→ 和服务器连接不上 ——→ 从前端提取数据无法传到后端 ——→ 实现登陆注册交互(但其他还是无法使用)

  (3)算法:牌面排序错误(可以对1~10的数字进行排序,但是J\Q\K\A无法实现排序,即使设置了值也没办法)

🎈2、做过哪些尝试

  (1)上网学css(感谢“菜鸟教程”很方便查css还可以顺便看html)

  (2)请教大佬+上网查教程+自己摸索:我们问了同组的其他小队大佬们,大佬们很耐心的回答,还把代码借给我们看虽然我们看不懂。之后我们上网查找相关的资料,想看看别人是怎么交互怎么使用接口的,也尝试将别人的代码与自己的结合,加以修改企图能够连上服务器;最后苏苏经过不懈努力,夜以继日的尝试(夜以继日的崩溃),终于从查找到资料里学会了如何登陆注册交互。

  (3)放弃

🎈3、是否解决

  (1)解决

  (2)解决

  (3)暂时还没解决

🎈4、有何收获

  (1)学会了一点点css,准备运用于自己的博客页面,很开心!还提高了审美,觉得自己很牛逼!

  (2)学了一点js,ajax,知道了前后端交互的困难,知道了怎么使用接口帮助前端获取数据。

  (3)懂得了:每天放弃一点点,生活才能更快乐 if else 很好用。

九、评价你的队友

🎈1、需要改进的地方

  作为不能熬夜的人,实名赞赏严欣真的能熬,对于界面也是很早就求完美,是一个细致的人。

🎈2、需要改进的地方

  我们俩分工太不明确(其实也是我们能力不足,没办法做到“我的能力就足够完成这个”,所以很多时候都是两个人互相帮忙一起去查资料然后分享)

十、学习进度条

第N周 新增代码(行) 累计代码(行) 本周学习耗时(小时) 累计学习耗时(小时) 重要成长
第3周 200 200 12 12 本周安装了Java运行环境,学习了Java的基本语法类,学会基本的axure rp9的操作
5 504 704 20 32 复习html,做了登陆,注册,开始界面,但还在修改
6 0 64 0 0 国庆放假、、、必然没学习
7 240 944 40 72 学习Ajax、json
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!