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

这个作业属于哪个课程构建之法-2021秋-福州大学软件工程
这个作业要求在哪里2021秋软工实践第二次结对编程作业
个人学号031902244
结对成员学号031902234
结对小伙伴的作业博客链接结对小伙伴的作业博客
GitHub 仓库地址GitHub 仓库地址
视频演示链接博饼小游戏

目录

GitHub 仓库地址和 commit 记录

PSP 表格

微信小程序开发代码规范

学习进度条

结对小伙伴

重点与难点功能及编程思考

编程过程中的较大收获事件

总结


GitHub 仓库地址和 commit 记录

  • GitHub 仓库地址

        仓库地址

  • commit 记录


PSP 表格

PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划105
· Estimate· 估计这个任务需要多少时间105
Development开发14151865
· Analysis· 需求分析 (包括学习新技术)500650
· Design Spec· 生成设计文档1530
· Design Review· 设计复审 (和同事审核设计文档)1010
· Coding Standard· 代码规范 (为目前的开发制定合适的规范)1015
· Design· 具体设计200300
· Coding· 具体编码500700
· Code Review· 代码复审120100
· Test· 测试(自我测试,修改代码,提交修改)6060
Reporting报告240220
· Test Report· 测试报告3030
· Size Measurement· 计算工作量1010
· Postmortem & Process Improvement Plan· 事后总结, 并提出过程改进计划200180
合计16652090

微信小程序开发代码规范

微信小程序开发代码规范


学习进度条

第 N 周新增代码(行)累计代码(行)本周学习耗时(小时)累计学习耗时(小时)重要成长
17117112121

1.熟悉 JS 语言的基本语法

2.了解与着手编写微信小程序开发的基本组件和布局方式

229810091031

1.学习了全局变量的定义与使用

2.对函数的编写更加熟练


结对小伙伴


重点与难点功能及编程思考

  1. 掷骰子

        该功能一开始我想要制作摇一摇效果,但是查找资料后我认为我学习与掌握得还不够熟练,于是转而实现一个点击事件产生随机的骰子点数。

        产生随机数的函数先前并没有使用过,只记得有 random() 这么一个随机数产生函数,但尝试着写了一下后发现它只能生成 0-1 之间的随机小数,于是去查找能够生成 [m,n] 范围内的随机整数。这里以产生第一个骰子点数的函数为例,关键代码如下:

randomNum: function () { 

// 产生一个 [1,6] 区间内的随机整数
    this.setData({
      num1: parseInt(Math.random()*6,10)+1
    })
})

     2. 根据骰子点数变更图片显示

        在每一次掷骰子之后都需要根据六个骰子的点数进而显示出不同的图片,并根据显示出的点数来判断是否中奖以及中的是什么奖。

        图片变更只需要在随机数生成的函数中在生成随机数后立即更改图片路径即可,关键代码如下:

// 当第一个骰子掷出点数 1 时,更改图片路径为 1 点的骰子图片
if(this.data.num1==1){
      this.setData({
        image1: '../../images/one_image.png',
        one_count:this.data.one_count+1
      })
    }

      3. 结果判定

        在上一点的关键代码中,我们可以看到有一条计数的语句

one_count:this.data.one_count+1

        这条语句就是用来进行结果判断的基础,在掷骰子之后即六个随机数生成以后,统计每个点数的个数,用来判断当前是否中奖及中奖等级。这里以 “秀才” 为例,关键代码如下:

// 结果查询函数
 check: function () {
    if(this.data.four_count==1){
    getApp().globalData.xiucai_sum = getApp().globalData.xiucai_sum + 1;
    wx.showModal({
        title: '您的结果是',
        content: '恭喜你获得秀才——一秀',
        })
    }
})

     4.历史中奖记录

        在上一条中,同样发现还有一条语句

 getApp().globalData.xiucai_sum = getApp().globalData.xiucai_sum + 1;

        这里我使用了全局变量来统计每次中奖的等级与次数。使用全局变量时,搜索到的教程基本都是使用 ‘app.globalData.x' 语句来进行全局变量的读取与修改操作,但不知道是我使用的方法有问题还是微信小程序开发已经不支持该种方式,调试器会一直报错,不让我这么使用。于是我只能再查找是否还有其他方法,这时我发现还有一种方法即为上面显示的代码,这时候才能够正常进行全局变量的读取与修改操作。

        成功统计次数后,需要进行的就是在每次点进 “历史中奖记录” 界面后把次数显示出来,这里我使用了生命周期函数中的 “监听页面显示” 函数,关键代码如下:

// 显示各类奖项的中奖次数
onShow: function () {
        this.setData({
            num1:getApp().globalData.zhuangyuan_sum,
            num2:getApp().globalData.bangyan_sum,
            num3:getApp().globalData.tanhua_sum,
            num4:getApp().globalData.jinshi_sum,
            num5:getApp().globalData.juren_sum,
            num6:getApp().globalData.xiucai_sum
        })
    }

        但其实这个历史中奖记录功能是 “一次性” 的,也就是说当我重启小程序后,以前的记录都没有保存下来,这是因为我们没有实现后端功能,导致没有数据库用来存储这些消息,希望这次作业完成后我能够有事件恶补一下后端开发的知识。


编程过程中的较大收获事件

        1. 开发步骤

            在最开始的编程时,总想着要实现一堆的功能,结果就发现我们无从下手,我们只能根据删删减减,从最基础的首页与游戏功能开始,把首页的基本布局和游戏页面的 “掷骰子” 功能先实现,再进而实现结果查询的功能。在这个过程里我深刻意识到目标不能一开始就定得太大,不然就会发生我这种不知道从哪里开始的情况。

        2. 页面布局

            在这次作业过程中,对于微信小程序的开发我和队友都是从零开始,开头总是很艰难的,对于每个组件的排列总是出现许多问题,背景图片的设置在一开始也总是搞不好,而且设置好了背景图片后我去改动组件的位置居然会使得背景图片一起移动了,这让我一直难以理解。通过查询修改后能够按照预期的想法显示出来了,虽然结果是出来的且懂得了要设置哪些属性可以出现想要的布局,但是有的属性为什么要这么设置其实还是没有理解地特别透彻。

        3. 点击事件与函数

            这次代码中我用到了许多点击事件来实现不同的功能,在调试过程中对每个数据的变化与传递方向有了较为深刻的印象。而且在实现数据赋值的时候,微信官方提供的函数经常不会显示括小括号、大括号之类,而且有时候经常根据网上教程编写的函数会有不允许的情况发生,这就导致了我经常需要查找为什么这个函数不能进行使用,最典型的就是全局变量的读取与修改了。


总结

        在这次结对编程的过程中,我逐渐发现一个小程序不是那么简单就能够实现全部功能的,编程需要逐步实现,从最基本的功能开始,一开始要实现的功能太多反而一个都实现不出来。而且在结对过程中,一开始分配任务比较困难。虽然有了前一次的结对经验,但是对于编程任务的分配,还是不知道该怎么分,于是我们两一个做游戏界面一个做刚进入小程序的主页部分,可能不是最高效的分配方法,但是应该算是比较适合我们的方法。

        在大二时有自学过一点 Android 前端开发的有关知识,而且看了微信小程序的有关教程后本来以为会很容易上手,结果发现真正动手实现的时候经常会忘记我需要用到哪个属性来设置,而且经常会发生实现结果与预期想法不一致的情况,还有一些属性甚至会不起作用,这个实在是令人费解,在之后的学习中还需要进一步深入思考。

        这次作业过程我们两人都是前端开发,后端开发知识可以说是一窍不通,这就导致了预期想要实现的一些功能不能够做出来,希望在后续过程中能够勤奋地学习一些后端开发的相关知识,只掌握一门知识远远不够,学习漫无止境。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值