2021秋软工实践第二次结对编程作业

penguin027 2021-10-09 13:27:38
这个作业属于哪个课程 构建之法-2021秋-福州大学软件工程 https://bbs.csdn.net/forums/fzuSoftwareEngineering2021
这个作业要求在哪里 2021秋软工实践第二次结对编程作业 https://bbs.csdn.net/topics/601189945
个人学号031904138
结对成员学号031904140
结对小伙伴的作业博客链接 结对小伙伴的作业博客链接 https://bbs.csdn.net/topics/601401782
GitHub 仓库地址 GitHub仓库地址 https://github.com/AdmireSeven/Bobing
视频演示链接 博饼小程序演示视频 https://www.bilibili.com/video/BV1Jv411g7H5/

一、PSP表格

PSP2.1
Personal Software Process Stages
预估耗时(分钟)
实际耗时(分钟)
Planning
计划
30
20
Estimate
估计这个任务需要多少时间
30
20
Development
开发
1220
1880
Analysis
需求分析 (包括学习新技术)
300
450
Design Spec
生成设计文档
30
60
Design Review
设计复审 (和同事审核设计文档)
30
30
Coding Standard
代码规范 (为目前的开发制定合适的规范
60
90
Design
具体设计
60
100
Coding
具体编码
500
720
Code Review
代码复审
60
60
Test
测试(自我测试,修改代码,提交修改)
180
200
Reporting
报告
150
170
Test Report
测试报告
60
80
Size Measurement
计算工作量
30
30
Postmortem & Process Improvement Plan
事后总结, 并提出过程改进计划
60
60
合计
1400
2070

二、重点或难点功能、编程思考

两次结对项目的大致流程是:想法 -> 实现 -> 优化
1、重点:

  • 摇骰子过程的复现

    • 对于此项问题我们没有通过算法实现,而是设计了一个图片交替出现的逻辑过程,实现了骰子的晃动。
    • 例如:wxml文件代码如下:
      <view wx:if="{{p==1}}">
                <view class='start' wx:if="{{statu==1}}">
                    <image class='p21' src="/image/p2.jpg">
                        <text class='p21text'>{{userName[0]}}</text>
                    </image>
                    <image class='p22' src="/image/p1.jpg">
                        <text class='p22text'>{{userName[1]}}</text>
                    </image>
                    <image class='bowl' src="/image/bowl.png"></image>
                    <button class='press' bindtap='click1'>请玩家{{userName[p-1]}}点击投掷</button>
                </view>
                <view class='shake' wx:if="{{statu==2}}">
                    <image class='bowl' src="/image/bowl.png"></image>
                    <image class='playDice' src="/image/playDice.gif"></image>
                    <button class='press' bindtap='click2'>点击停止投掷</button>
                </view>
                <view class='result' wx:if="{{statu==3}}">
                    <image class='bowl' src="/image/bowl.png"></image>
                    <image class='img1' src="{{dicelist[0]}}"></image>
                    <image class='img2' src="{{dicelist[1]}}"></image>
                    <image class='img3' src="{{dicelist[2]}}"></image>
                    <image class='img4' src="{{dicelist[3]}}"></image>
                    <image class='img5' src="{{dicelist[4]}}"></image>
                    <image class='img6' src="{{dicelist[5]}}"></image>
                    <view class='rank'>{{rank}}</view>
                    <button class='press' bindtap='next2'>点击轮到下一位</button>
                </view>
            </view>
      
      js文件代码如下:
      click1(){
        console.log("点击投掷")
        this.setData({
          statu: 2,
          finallyRank:[]
        })
      },
      
      click2(){
      console.log("点击停止投掷")
      this.setData({
        statu: 3
      })
      this.result();
      },
      
  • 实现结果自动判定

    • 参照博饼规则,我们设计了一系列的if-else通过统计相应骰子的点数实现了结果的判定。
    • 例如对堂结果的判定:
      if(one==1&&two==1&&three==1&&four==1&&five==1&&six==1){
          this.setData({
            rank:"对堂!",
            score:"+300"
          })
          flag=1
        }
      
  • 单机或联机形式的多人参与博饼

    • 通过创建或加入房间的形式容纳多人参与博饼。但由于未能实现网络连接,此处的加入房间本质上是随机创建。

    • 创建房间的wxml如下:

      <view class="container" wx:if="{{statu==0}}">
      <image class="bgImg"
        src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fbpic.588ku.com%2Fback_pic%2F05%2F64%2F56%2F795b6712ffa1723.jpg%21r650%2Ffw%2F800&refer=http%3A%2F%2Fbpic.588ku.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1635861213&t=9dfe2acfda3e8057196d2585a0452471">
      </image>
      <other-widget class="other-widget">
        <view class='input_ID'>
            <input class="input" name="roomID" placeholder-style="font-size:15px" placeholder="请输入房间名称"
                bindinput="bindKeyInput" />
        </view>
        <button class='in' bindtap="click">确定</button>
        <view class='tishi'>{{infoMess}}</view>
      
        <view class='top'>
            <view class='top-selected' bindtap='bindShowMsg'>
                <text>{{num}}</text>
      
            </view>
            <!-- 下拉需要显示的列表 -->
            <view class="select_box" wx:if="{{select}}">
                <view wx:for="{{nums}}" wx:key="unique">
                    <view class="select_one" bindtap="mySelect" data-name="{{item}}">{{item}}</view>
                </view>
            </view>
        </view>
      </other-widget> <!-- other widget希望是放在背景图片之上的 -->
      </view>
      

2、难点:

  • 想法在第一次结对编程时已经设计完成,这次任务的难点在于对想法的实现;
  • 对博饼小程序功能的创新;
  • 实现小程序进阶功能:支持网络连接,能够在线多人参与博饼。

三、在编码、争论、复审等活动中花费时间较长,给你较大收获的事件

  • 着手准备的过程:第一次接触到微信小程序的开发工作,一切都要从头学起,包括js,css,json等前端知识。
  • 讨论页面设计的过程:由于不知道好的页面和构思应该是什么模样,只是通过感官判断觉得好看,参考主流小程序界面设计并意见达成一致。
  • 追寻代码优化的过程:复审中认为小程序并没有创新点,讨论后决定将博饼结果改变为积分制。

四、结对编程体验


  • 我觉得编程就是在不断否定自己的过程中获得成长的,代码需要一遍又一遍的审视。结对编程就更加需要审视的这个过程,一方面需要借助同伴的观点来帮助自己提升对代码结构上的认知,一方面也需要敦促自己不断优化细节,达到更好的合作效果;
  • 借助工具进行团队合作,会让工作更有效率,比如使用Github ,通过 git 协作方式完成编码;
  • 较为遗憾的是本次编程未能实现网络连接,无法在线多人参与博饼。

五、学习进度条


大致任务流程如下:

img

第N周新增代码(行)累计代码(行)本周学习耗时(小时)累计学习耗时(小时)重要成长
11971197134.534.5初步掌握了小程序开发的基本框架

附:commit记录

在这里插入图片描述

在这里插入图片描述

结对照片

在这里插入图片描述

...全文
389 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
企业绿色债券是募集资金主要用于支持节能减排技术改造、绿色城镇化、能源清洁高效利用、新能源开发利用、循环经济发展、水资源节约和非常规水资源开发利用、污染防治、生态农林业、节能环保产业、低碳产业、生态文明先行示范实验、低碳试点示范等绿色循环低碳发展项目的企业债券。 企业绿色债券的发行需遵循相关法律法规和监管要求,如《绿色债券发行指引》等。发行人需具备相应的资质和条件,如良好的信用记录、稳健的财务状况等。 相关数据 观测ID()_ID 公司代码()_CompanyCode 上市公司代码_ComCd 债券标识()_BdId ISIN编码_ISIN 证券代码_R_SecuCode 债券代码_BdCd 债券名称_BdNm 拼音债券简称_ChiSpelling 证券市场()_Secumkt 市场标识_Mktflg 债券全称_FBdNm 发行人是否上市公司()_IfListedIssuer 是否多个发行人()_IFMultiIssuer 债券形态()_BdMd 选择权类型_OptionType 债券类型()_BdType 是否跨市场()_IfCrsExchg 首次信息发布时间_IInfoPubDt 债项信用级别_CreditRt 计划发行总额(元)_PlanIssSz 实际发行总额(元)_ActlIssSz 债券期限_年(年)_Maturity 债券期限_天(天)_Maturity_Day 含权券特殊期限_OPMaturity 初始债券面值(元)_Par 初始发行价格(元)_IssPr 计量货币_currency 发行参考收益率(%)_IssRefYTM 计息方式()_IntMd 付息方式()_IntPayMethod 付息频率(次/年)_Freq 摊还期付息方式()_APIntPayMtd 支付机制说明_IntPayRmk 利息条款描述_IntItem 利息计算公式_IntFormula 利息计算公式(赋值)()_IntFormulaVal 兑付方式_RedeMtd 初始票面年利率(%)_CoupRt 利率变动区间_IntRtPeriod 是否含有信用风险缓释工具()_IfCRM 是否担保交收(交易所)()_IfGuaSet 债券标识_被增发()_BdId_RIssue ISIN编码_被增发_ISIN_RIssue 证券代码_被增发_R_SecuCode_RIssue 债券代码_被增发_BdCd_RIssue 债券名称_被增发_BdNm_RIssue 最新面值()_LatParValue 所得税率()_TaxRt 是否免税()_IfTaxFree 最新计价方式()_PricMethod 最新票面利率()_LatCoupRt 上市交易平台_ListMak 交易方式()_TradType 发行日期_IssDt 起息日(债券期限起始日)_ValueDt 债权债务登记日_RegDt 到期日(债券期限截止日)_MatDt 首次理论付息日_IntPayDt 上市日(交易流通起始日)_LstDt 摘牌日_DelstDt 实际到期日_EarlyMatDt 最后交易日(预估)_EstLastTrdDt 最后交易日(实际)_ActLastTrdDt 摘牌日(预估)_EstDelstDt 摘牌日(实际)_ActDelstDt 状态()_Status 备注_Remark 浮动利率计息基准()_BchmkIRCd 初始基准利率(%)_BchmkIR 初始基准利差(%)_BchSpread 债券保底利率(%)_MinIR 首个定价日_PrimalPriDt 利率调整模式_RatAdjMd 法定到期日_LegalEdt 发起机构_InitOrg 项目名称_PrjNm 初始起算日_StarDt 资产是否出表()_AssetIfTab 项目简称_PrjAbb 是否循环购买()_IfRevolving 循环期届满日_RevolvEndDt 分层级别_ABSLevel 分层级别细分()_ABSLevely 基础资产类型()_BasicAssetTyp 规模分层占比(%)_ABSLevelRat 利率上限说明_IntCap 债券封顶利率(%)_IntRtCap 是否多层级()_IfMultiLev 细分层总数量()_TotNumLev 初始投资人数量_IniInvNum 定向投资人数量_PriInvNum 债券标识_标的债务()_BdId_Target ISIN编码_标的债务_ISIN_Target 证券代码_标的债务_R_SecuCode_Target 债券代码_标的债务_BdCd_Target 债券名称_标的债务_BdNm_Target 标的债务流通总量(亿)_TargTotTrdShr 付费方式()_PayMtd 结算方式_SetMtd 信用事件_CredirEven

189

社区成员

发帖
与我相关
我的任务
社区描述
福州大学软件工程教学,推行邹欣老师“构建之法”。
软件工程 高校
社区管理员
  • Dawnfox
  • REP1USONE
  • 纪华裕
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧