zoukankan      html  css  js  c++  java
  • 结对编程作业

    https://github.com/chen1357/tail

    成员 分工清单
    陈妍羽 负责接口的学习和使用,前端的页面渲染工作,后端重要代码的调试
    许雅萍 原型设计,后端的主要功能代码,检查代码错误

    一、原型设计

    (1.1)此次结对作业的设计说明

    原型作品的链接 猪尾巴原型设计

    采用的原型开发工具:墨刀

    设计说明如下,原型图:

    设计的思路是希望做一款比较可爱,有比较简约的小游戏,所以字体上设计的很可爱,都有些可爱的小猪,颜色上主打粉红色,为了画面的简洁,背景采用白底小方格。
    以下是设计流程图

    • 主页面

    • 游戏模式选择

    • 在线对战的登录入口

    • 在线对战的模式选择

    • 是否加入自己创建的对局

    • 玩法说明

    • 对局页面

    (1.2)遇到的困难及解决方法:

    • 问题描述:设计出比较好看的界面还是有一定难度的,设计原型需要的许多组件,获取到比较优美好看的还时有一定的困难,并且颜色的搭配,风格不一致的组件,字体,等之间的组合想要形成一种比较协调一致的氛围,也比较困难,还有关于字体,关于颜色,关于小组件,背景的敲定,选择多的情况下,真的有些选择困难症。

    • 解决过程:首先看了许多设计精美的小程序作为参考,其次搜寻足够多的素材,用于设计,最后,色彩搭配组件选择,组件排布多征求组员和身边朋友的设计意见。

    • 有何收获:设计的过程很辛苦,但是努力坚持下去,多学,多做,多参考,最后的成品是比较令人满意的。

    二、原型设计实现

    代码实现思路: (11分)

    • 代码组织与内部实现设计
      主要的函数:
      group_out:(牌库出牌)
      card_out:(手牌出牌)
      card_in:(收入手牌)
      same_detect:(一致性检测)
      trusteeship:(托管函数,ai自动出牌)

    • 关键部分流程图

    • 贴出你认为重要的/有价值的代码片段,并解释

      使用splice函数和concat函数进行数组操作,对卡牌的顶部的元素更新,而非最后一张,使最新变动的卡牌位于最顶部而非底部,从而方便玩家进行操作

    • 性能分析与改进,分析描述你改进的思路
      像card_out,group_out,card_in等函数是使用频率最高的函数,同时所耗费的时间也是非常多,并且代码量还都是挺大的,于是我们改进的思路,是减少这一部分的代码量,还有尽量做到代码的封装,精简代码并且改善这一部分代码的运行时间。

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


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

      对接口的单元测试,测试是否能够返回正确的数据,如果连接不上接口,控制台输出“fail”,连接上但无法获取正确数据,则输出返回的错误原因

    • github代码签入记录

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

    • 困难描述
      结对编程,我们的合作方式是一人分一个模块,比如:一个前端页面渲染,一个后端代码功能实现,各自的模块写好了之后,两者代码之间的适配调整比较困难,经常会出现错误,debug的过程就十分痛苦。
    • 解决过程
      1.首先采取沟通:一方需要向另一方阐述自己的流程,注意要点,来帮助对方快速了解自己的代码结构与设计思想,一方有不清晰的地方就需要尽快与另一方沟通。
      2.写代码的时候,做一些提前约定。
      3.尽量完成了一些功能,就开始沟通,因为随着代码量的逐渐增大,沟通的时间成本也就更高。
    • 有何收获
      从开始的手足无措,默契全无,鸡飞狗跳,进度缓慢,学习滞后,经过双方不断的配合调整,最后我们不仅拥有了一定的默契,面对问题的解决思路也变得更加清晰了,也学到了很多知识。

    评价你的队友。(2分)

    陈妍羽评价:

    • 值得学习的地方
      我的队友许雅萍同学有学习心,有上进心,开朗乐观,做事负责,很有担当,是一个很不错的组队伙伴人选。
    • 需要改进的地方
      有点拖延症,冒冒失失的,希望能够改掉拖延的小毛病,成为行动的巨人。

    许雅萍评价:

    • 值得学习的地方
      我的队友陈妍羽同学,很勤奋学习很认真,学习的速度也很快,很乐于助人,很聪明,积极上进,做事负责,很多问题经过我们的讨论都能得到有效的解决,是一个很不错的好队友,希望今后还能继续合作。
    • 需要改进的地方
      在选择方面有些犹豫不决,希望今后做决定能越来越果决,也希望我们今后的合作能越来越有默契。

    提供此次结对作业的PSP和学习进度条(每周追加)

    第N周 新增代码(行) 累计代码(行) 本周学习耗时(小时) 累计学习耗时(小时) 重要成长
    1 200 200 8 8 学习小程序设计的基础知识
    2 400 600 12 20 完成设计图,学习磨刀的使用方法以及完成原型设计
    3 800 1600 24 44 wxml,wxss学习,实现页面的渲染
    4 1500 3100 30 74 学习接口的使用,实现基本的功能

    三、心得

    • 陈妍羽
      学习到了很多之前没有接触到的东西,真的收获很大,学习小程序的制作过程,充满着挑战,作为前端,学习了页面的渲染,还负责了接口的使用与测试的工作,在有限的时间里,完成任务,通过几轮的分析讨论,我们组才决定了小程序的这样的展现方式,但是我们不具备小程序的设计开发经验,开发起来的确是困难重重,前路艰难,好在最后还是实现了我们想要实现的目标,并且在面对困难的过程,不断勇敢的前进学习,把自己的毅力都有所磨练了,只不过此次作业,小项目还是完成的没有很满意,希望在作业截止时间之外,还能继续开发完善,把猪尾巴实现的更加好。最后希望能够继续加油,继续在实践中成长,努力成为更好的自己。

    • 许雅萍
      通过本次紧锣密鼓的学习,的确在学习中发现了很多问题,解决问题的能力也得到了一定的提升,面对各种问题的时候,不再那么手足无措,的确成长了很多,因为我是负责后端主要代码的实现,debug的工作当然是无法避免的,好不容易哼哧哼哧写了一大段代码,把基本功能实现了,结果一运行起来,跑的真是乱七八槽,修了一个bug,又浮出来一个,真是按下葫芦浮起瓢,真是招架不住,绞尽脑汁的找bug,当最后代码终于实现了目标功能,每每感概都快乐极了,在这段时间的学习过程中,坚持这件事真的被秉持了挺久。最后,实践出真知,通过自己动手,深入实践,才知道做个小游戏也是要需要学习的东西是蛮多的,自己还有很大很大的进步空间,迎接挑战,下次一定会更好的!
  • 相关阅读:
    洛谷P4550 收集邮票 期望dp
    Codeforces Round #748 (Div. 3) G. Changing Brackets
    [Codeforces Round #748 (Div. 3)](https://codeforces.com/contest/1593) F. Red-Black Number 记忆化搜索
    [Codeforces Round #748 (Div. 3)](https://codeforces.com/contest/1593) D2 Half of Same
    HDU 3746 Cyclic Nacklace kmp找循环节
    Codeforces Round #747 (Div.2) D. The Number of Imposters
    Nand2tetris 学习笔记
    怎样解题表
    [省选]知识点板块
    List of Problems to be Solved
  • 原文地址:https://www.cnblogs.com/smallgrape/p/15452288.html
Copyright © 2011-2022 走看看