这是我参与「第三届青训营 -后端场」笔记创作活动的的第 2 篇笔记。
一、本堂课重点内容:
- 语言进阶
- 依赖管理
- 测试
- 项目实战
二、详细知识点介绍:
1. 并发与并行
1.1 Groutine
1.2 CSP
1.3 Channel
1.4 并发安全Lock
1.5 WaitGroup
小结
以上就是go并发编程相关性的介绍。这里简单捡个小结,整个章节要涉股个方面,一个是协程,通过高效的调度瞾里实现高并发操作,一个是通道值channel,通过通信实现共享内存,最后sync相关关键字,实现并发安全操作和协程间的同步,
2. 依赖管理
2.1 Go依赖管理演进
2.2 依赖管理三要素
2.3 依赖配置
小结
以上就是对社区话题页面需求得到整个实现流程,这样我们从项目拆解,代码设计落地,最后测试运行就跑通了整个项目流程,为大家后期实现项目提供了一定的开发思路,当然实际项目较我们实现的需求会复杂很多,不过大家不必担心,可以通过大拆小的思路,将大需求拆解为小需求的思路来分析解决,遇到问题,各个击破,同时做好充分的测试。
3. 测试
- 营销配置错误,导致非预期用户享受权益,资金损失10w+
- 用户提现,幂等失效,短时间可以多次提现,资金损失20w+
- 代码逻辑错误,广告位被占,无法出广告,收入损失500w+
- 代码指针使用错误,导致APP不可用、损失卜kwss7274
3.1 单元测试
- 如何衡量代码是否经过了足够的测试?
- 如何评价项目的测试水准?
- 如何评估项目是否达到了高水准测试等级?
- 一般覆盖率:50%~60%,·较高覆盖率80%+。
- 测试分支相互独立、全面覆盖。
- 测试单元粒度足够小,函数单一职责。
3.2 依赖
3.3 文件处理
3.4 Mock
3.5 基准测试
以上就是对社区话题页面需求得到整个实现流程,这样我们从项目拆解,代码设计落地,最后测试运行就跑通了整个项目流程,为大家后期实现项目提供了一定的开发思路,当然实际项目较我们实现的需求会复杂很多,不过大家不必担心,可以通过大拆小的思路,将大需求拆解为小需求的思路来分析解决,遇到问题,各个击破,同时做好充分的测试。
4. 项目实战
4.1 需求描述
- 展示话题(标题,文字描述)和回帖列表
- 暂不考虑前端页面实现,仅仅实现一个本地web服务
- 话题和回帖数据用文件存储
4.2 需求用例
4.3 ER图
4.4 分层结构
4.5 组件工具
4.5 Repository
4.6 Repository_index
4.7 Service
4.8 Controller
4.10 运行
小结
- 项目拆解
- 代码设计
- 测试运行
以上就是对社区话题页面需求得到整个实现流程,这样我们从项目拆解,代码设计落地,最后测试运行就跑通了整个项目流程,为大家后期实现项目提供了一定的开发思路,当然实际项目较我们实现的需求会复杂很多,不过大家不必担心,可以通过大拆小的思路,将大需求拆解为小需求的思路来分析解决,遇到问题,各个击破,同时做好充分的测试。
三、课后个人总结:
学习了Go语言实际项目中开发的流程
以上就是对社区话题页面需求得到整个实现流程,这样我们从项目拆解,代码设计落地,最后测试运行就跑通了整个项目流程,为大家后期实现项目提供了一定的开发思路,当然实际项目较我们实现的需求会复杂很多,不过大家不必担心,可以通过大拆小的思路,将大需求拆解为小需求的思路来分析解决,遇到问题,各个击破,同时做好充分的测试。