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

kingmingdof 2021-10-09 18:18:05
这个作业属于哪个课程 https://bbs.csdn.net/forums/fzuSoftwareEngineering2021?category=0
这个作业要求在哪里 https://bbs.csdn.net/topics/601189945
个人学号031902204
结对成员学号031902217
结对小伙伴的作业博客链接 https://blog.csdn.net/qq_54903139/article/details/120680506
GitHub 仓库地址 https://github.com/gheao/bobing
视频演示链接 https://www.bilibili.com/video/BV1Pq4y1d7ad/

psp表格

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

学习进度条

第N周新增代码(行)累计代码(行)本周学习耗时(小时)累计学习耗时(小时)重要成长
14004003030学会了go语言的基础语法,通过gin框架实现微信小程序后端服务器的消息发送,接收。使用dokerfile封装镜像。go语言连接mysql并进行数据库的增删改查。用websocket来实现信息通信以及信息广播。了解了前后端各自的工作,实现接口

编程中的重点或难点功能、编程思考

一、从0开始学习go语言,dockerfile

我们团队打算开发博饼微信小程序,我负责后端,队友负责前端。我采用go语言来实现前端给出的各种接口。但这是我一开始接触小程序开发,我对与如何开始程序开发一窍不通,还好队友有过实践经验,在队友指导下,我先是学习编写dockerfile来封装镜像,然后又开始学习用go语言编写后端接口。我发现go语言相较于C语言,语法上有很大的不同,go语言可以引入各种包,通过包里的函数实现开发,我在这次编程中采用的gin框架就是通过包导入的。go语言还可以不用声明数据类型定义,由系统来判断数据类型,go语言不用在每一行后加上“;”号,按行来区分代码。由于一开始对这些概念没什么了解,我花了挺长时间在理解概念上,在理解概念的基础上,才进行后端开发。

二、前后端概念的理解以及接口开发

小组通过微信小程序开发者平台来实现前端,通过go语言gin框架实现后端,我负责实现后端,但一开始我对前后端的概念并不了解,我不太清楚前端负责的是什么,后端负责的是什么,因此在一开始的编程中经常出错,比如前端教我写一个api接口,我还不会写,于是到处查api接口的编写,查到之后,我直接把代码写在前端的代码里。不过随着程序开发进行,在编程中,我还是搞清楚前后端的概念,能够写出对应的接口服务。在接口开发中还遇到的问题是我对于前端传递给我的信息格式不清楚,以及如何将我获取的信息分离的疑问,在看了许多参考程序后才慢慢搞懂。

三、实现go语言连接数据库中的报错问题

我们构建了一个数据库来放置历史数据,后端要求连接上数据库并根据用户的id来建立数据,于是我开始查找go语言连接数据库的语句,但由于我一开始电脑里装的是sql_server,但大多数连接数据库的代码都是用mysql实现的,为了方便,我查找连接sql_server的go语句,但是不知道什么原因,连接sql_server的语句无法成功编译,显示连接被拒绝,我试了许多方法都没有解决这个问题,还花了很多时间,最后尝试安装mysql来连接,结果直接成功。

编程中花费时间较长,给我较大收获的事件

  • 一开始接触小程序开发,看微信开发者文档,看docker教程编写dockerfile,学习go语言花了很长时间,开始学这些东西花了很长的时间,对这些概念以及作用都不理解,但随着自己动手去实践编程的过程中,我开始理解这些概念,也能进行一些基础编程,从不懂到懂的这一过程,虽然花时间,但是收获却是实在的。
  • 从第一次写出一个接口到能够熟练写出接口,花了相当长的时间,中间也出过很多错误,但自己最终还是学会了,虽然感觉还有很多没有完全理解的地方,但至少能按着步骤一点点的写出来接口,实现接口内容
  • 学习websoscket,通过websocket实现通信和广播
  • 调用sql_server数据库不成功,最后调用mysql成功,学到了要换一种方法来解决问题
  • 前端有实现不了的功能时,一起讨论制定解决方案

commit 记录

img

工作地点

  • 宿舍

img

结对编程体验

这次的编程是一次很宝贵的经验,在队友的帮助下,我学到了很多新的知识,通过两个人共同学习,共同开发出程序来很有意思。这次的编程中花了大量时间在学习编程上,学习go语言,docker,websocket,数据库连接。遇到的困难就是有些函数的功能以及参数都不清楚,在实现过程中要用到时要经常查阅资料。

...全文
226 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

189

社区成员

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

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