大项目第二天 | 青训营笔记

87 阅读2分钟

这是我参与「第五届青训营 」笔记创作活动的第九天,今天依旧是完成大作业ing。今日的成果主要是进行了更明确的分工以及基础结构的进一步完善。

一、明确分工

在昨天简单分析过要完成的任务后,发现大多数的任务集中在使用gorm去查询以及映射上,很容易变成单线程进展,也就是另一个人只能干等的形式。充分讨论过后决定,将整体架构看成:客户端请求 - 程序中间处理 - 数据库操作

也就是说,一个人负责数据库的操作,包括数据库整体维护,以及将需要的功能写成数据库存储过程与函数以供调用。另一个人则负责完善程序,处理客户端发来的参数再利用gorm用于调用数据库函数获取结果。

这两者分工并行完成后,也就简单实现完了基础接口功能,后面再一起研究安全等方面的考虑。

二、数据库操作

我个人是负责数据库操作这一块的,比起昨天的打草稿,明确了分工后我更加仔细地剖析了表间关系,删去了许多能动态计算的字段,以使数据库结构更简洁。

接下来就是完成各种存储过程以供调用,选择存储过程的原因则是其方便接收IN参数以及可以较好的select返回表作为结果。

在开始写之前,也是先写好了接口文档,方便队友调用函数与清楚各个参数意义。后面就是各种select语句的内容了,这里不做详细说明。

关于为什么不直接用gorm提供的函数进行查询,一是不熟悉gorm的使用,需要较高的学习成本,二是刚刚一开始提到的问题,如果我直接使用gorm进行函数的编写,另一位队友就得等我完成才能继续其他操作,对于我们剩下时间不多的情况来说是很难接收的。

(第一次以正式业务处理数据库问题,可能以上操作并不符合规范,也有许多类似并发问题等方面未曾考虑到,仅作完成基础功能的参考)

三、今天的成果and明天的目标

其实今天已经完成了大部分的编写,更多的还是在和队友商量各种对接问题以及其他类似git的使用问题等简单问题,总的来说就是不太熟练项目的合作运行。明天再把两人剩下的分工完成,就可以开始着手安全问题等方面了。(但愿剩下两天能完成一个令自己满意的成果吧)