2022软工K班结对编程任务

https://github.com/codesheepXK/Pair-programming.git

https://www.bilibili.com/video/BV1QD4y1k7bx/?spm_id_from=333.999.0.0&vd_source=92d7da6ab7e3822b237fe3668cb3f2b1

一、结对探索(4分)

1.1 队伍基本信息(1分)

结对编号:19;队伍名称:嚼炫迈的铠甲勇士;

学号姓名作业博客链接具体分工
032002636谢锴原型设计、前端界面编写、JS算法交互

1.2 描述结对的过程(1分)

结对了吗?

还没。(舔屏jpg)

结吗?(狗头jpg)

结!(狗头jpg)

1.3 非摆拍的两人在讨论设计或结对编程过程的照片(2分)

二、原型设计(16分)

2.1 原型工具的选择(2分)

(在此处说明选择了什么原型设计工具?为什么选择这一款原型软件?)

原型设计工具:墨刀

原因:自学两天axure之后感觉操作略为繁琐,听同学去尝试了一下墨刀,发现墨刀上手更快,可视化方便,交互效果更为简单

2.2 遇到的困难与解决办法(3分)

困难1:原型设计刚开始没有思路,无从下手。

解决方案:与队友讨论,分析功能需求,列出各模块

困难2:不知道原型设计应该往什么风格上靠,尝试科技风之后觉得能力不够太过花哨

解决方案:设置简约渐变色背景,走小清新简约风格

困难3:墨刀设置不了背景渐变色,查询无果。

解决方案:发现矩形模块可以设置渐变色,将矩形模块放在最底端充当渐变色背景

2.3 原型作品链接(5分)

2.4 原型界面图片展示(6分)

模块一:登录界面

功能:输入账号密码登录

在这里插入图片描述

模块二:规则介绍

功能:介绍逍遥骰基本规则
在这里插入图片描述

模块三:游戏模式选择

功能:可选择人机对战、本地对战、匹配对战

在这里插入图片描述

模块四:游戏界面

功能:随机点数,放置骰子,根据规则消除,一方棋盘满结算游戏

创新点:新增撤销功能
在这里插入图片描述

模块五:积分排行榜

功能:显示排名前列的用户
在这里插入图片描述

三、编程实现(14分)

3.1 网络接口的使用(2分)

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

在这里插入图片描述

3.3 说明算法的关键与关键实现部分流程图(2分)

3.4 贴出重要的/有价值的代码片段并解释(2分)

3.5 性能分析与改进(2分)

(描述你改进的思路,展示性能分析图和程序中消耗最大的函数)

3.6 单元测试(2分)

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

3.7 贴出GitHub的代码签入记录,合理记录commit信息(2分)

四、总结反思(11分)

4.1 本次任务的PSP表格(2分)

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划6060
· Estimate· 估计这个任务需要多少时间510
Development开发58006965
· Analysis· 需求分析 (包括学习新技术)20002100
· Design Spec· 生成设计文档3025
· Design Review· 设计复审3030
· Coding Standard· 代码规范 (为目前的开发制定合适的规范)3030
· Design· 具体设计24003000
· Coding· 具体编码10001200
· Code Review· 代码复审210240
· Test· 测试(自我测试,修改代码,提交修改)100160
Reporting报告200180
· Test Report· 测试报告140140
· Size Measurement· 计算工作量3020
· Postmortem & Process Improvement Plan· 事后总结, 并提出过程改进计划3040
· 合计60607205

4.2 学习进度条(每周追加)(2分)

N周新增代码(行)累计代码(行)本周学习耗时(小时)累计学习耗时(小时)重要成长
10066熟悉墨刀和axure基本用法
2532532814了解VUE框架地基本运用
3123117631327了解VUE框架底层响应式原理

4.3 最初想象中的产品形态、原型设计作品、软件开发成果三者的差距如何?(2分)

首先是想象中的产品形态和原型设计作品存在较大差距,相较于最初设想的丰富多彩的产品形态,受限于审美以及绘画能力,原型设计相对简陋,有些想要实现的功能因为能力不足选择放弃(果然专业的事还是得交给专门的人做)不过最基本的功能都设计出来了。

其次是原型设计作品和软件开发成果,因为原型设计相对简单,基本还原原型设计的各模块需求,加上基本的交互效果,软件开发呈现的效果相较于原型设计更加美观,但是一些想实现的动画没有实现,代码实现方面比想象的难度也存在一定差距,经常就是每增加一个需求或者是一个函数,就会产生各种各样的bug,代码五分钟,bug两小时,但是究其原因是对Vue底层响应式原理理解不够。

4.4 评价你的队友(2分)

谢锴:(1)张家璇是一个做事认真,性格温和,善于组织的好队友,课后时间经常拉我去麦当劳讨论制作细节,发生分歧产生矛盾时不急不躁,耐心分析他的想法和我想法的分歧,以及算法可实现性,他也非常出色地完成负责的AI部分,算法的独特理解让我收获颇丰(2)但是从队友的角度来说,我觉得他给自己压力过大,容易事倍功半,应该好事多磨,语速则不达。

张家璇:(1)先给队友点个赞,好强!在这一次的结对编程中,谢锴承担了大部分的前端模块的编写和原型的设计,让我见识到了Vue和JS的神奇功能。在此次作业之前,我的前端相关知识一直处于一片空白的状态,而他对前端的独特见解让我学到了很多。任务完成上谢锴相当认真负责,总是能够在计划内的时间完成相应的任务。大佬带我起飞~ (2)站在队友的角度,感觉还有一些可以改进的,比如说做任务时较为纠结,有时候有点小任性,容易钻牛角尖。

4.5 结对编程作业心得体会(3分)

谢锴:总的来说,这次的作业做下来没有一开始想的那么难,尝试了没有接触过的领域——原型设计,初步了解了墨刀以及axure的基本使用方法,制作了相对简洁的界面原型,顺带复习了一下前端VUE框架相关技术,在修理bug的过程中更加深刻理解掌握了VUE底层响应式原理(一个简单地修改数组元素不能简单地直接通过索引值修改,应该运用VUE.set()设置保持响应式),深刻体会到欲速则不达,好事多磨,一步一脚印的简单道理,最终和队友的共同编程下完成了一个不够完善但是基本能玩的小游戏。在编写代码的过程中,算法设计并未消耗过多时间,不断的修改完善才是最耗费时间的,一个功能可以写近百行冗余代码实现,但是同样可以整合修剪成三四十行代码,但是精简也容易产生各种各样bug,编写就是不断权衡的过程。在之后的软件开发应该在敲代码前充分讨论,分析好各模块功能,绘制出相对应的UI原型,不能闭门造车,不然后面修修改改得不偿失。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ChatGPT结对编程是一种将两个程序员合作编写代码的技术。这种技术可以提高编写代码的效率和质量,同时也可以提高两位程序员的技能水平。以下是ChatGPT结对编程的步骤: 1. 首先,找到一个合适的编程伙伴。最好是一个有一定编程经验的人,但如果你是新手,也可以与另一个新手合作。 2. 确定你们编写的代码项目。你们可以选择一个共同感兴趣的项目或者一个有挑战性的项目。确保你们都对项目有一定的理解。 3. 确定你们的角色。一个人可以担任主要代码编写者,另一个人可以担任代码审核者。这样可以确保代码的质量。 4. 确定编程环境。你们可以使用一个共同的编程环境,如Visual Studio Code或者Atom。也可以使用在线编程环境,如CodePen或JSFiddle。 5. 开始编写代码。一个人负责编写代码,另一个人负责审核代码。在编写代码的过程中,你们可以随时通过聊天工具进行交流和讨论。 6. 定期进行代码审核。定期进行代码审核可以确保代码的质量。你们可以定期的分享代码,并相互审核对方的代码。 7. 完成项目并进行总结。完成项目后,你们可以总结你们的经验和教训,并提出改进建议。这将有助于你们以后更好的编写代码。 总之,ChatGPT结对编程是一种非常有用的技术,可以提高编写代码的效率和质量。通过合作编写代码,你们可以相互学习,相互支持,以及增强你们的编程技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值