参与训练平台测试一段时间后,我开始接触竞赛平台三期的开发。那时我负责的范围已经比较明确:试卷中心和试题中心。
确定模块之后,首先要做的不是马上写接口,而是先了解三期开发需要增加哪些功能,以及这些功能和原有平台之间是什么关系。竞赛平台并不是一个孤立的页面,试题、试卷、比赛模式和任务之间都有联系。对当时的我来说,理解这些联系本身就是开发的一部分。
7 月初的周报里,我记录了竞赛平台三期会议的内容,也开始参与后端开发。试题中心这一部分包含几种竞赛模式的任务接口,分别是 AWD 混战、红蓝对抗、红蓝对抗的 Flag 设置,以及三国战任务。
到 7 月 14 日,试题中心的这些接口已经完成,阶段进度基本正常。与此同时,比赛中心的试卷设置还没有全部完成。当时已经完成了接口需要使用的相关实体,也完成了抽象接口设计,但具体业务逻辑仍然待编写。
这两个模块让我比较明显地感受到,接口开发并不是把请求和返回值拼起来就结束了。新增接口需要和之前的代码配合,参数、实体和已有逻辑之间要保持一致。有些地方看起来只是基本的增删改查,真正开始写时仍然会遇到疑问。
我在周报里也记录了自己的问题:有时只是按照之前的代码做形式上的模仿,没有真正理解其中的编程思想和逻辑;新接口和原有接口之间如何配合,也需要继续熟悉。这些问题会直接影响开发速度。
试卷设置部分的难点更明显一些。三期增加了新的比赛模式,但题目模块还没有完全准备好,需要在原有代码基础上继续组织新的逻辑。要把这部分做下去,不能只看当前要写的接口,还要理解原有试卷和题目之间的关系。
这次负责具体模块的经历,让我第一次更清楚地看到“负责一个模块”和“负责整个项目”之间的区别。我需要把自己负责的接口写好、和已有代码配合起来,并对还没有完成的部分保持清楚认识,但不需要把整个竞赛平台的设计和进度都归到自己身上。
当时的工作还在继续,试卷设置相关接口需要在下一阶段完成,新增功能也需要继续自测和优化。对我来说,这个模块的意义不只是完成了几组接口,也让我开始面对真实项目中的代码衔接、功能边界和未完成状态。