某大型广告公司实习感受
前言:学长批评我需求开发谨慎、缓慢、缺乏深度反思,与之后的开发速度提升效果不明显,产出少。
刚来第三天,学长就把他手上的一些需求分给我了,大致意思是在做的过程中理解业务逻辑。之前几天学长给我简单讲述了开发流程,怎么使用平台拉取项目、建立分支、开发、测试、上线等等,有很多平台...口头阐述,很容易忘,进而也导致了第一个需求的开发进度。另一个学长给我发了整个的业务框架,太泛了,但也覆盖了我们整个部门的业务流程,现在只理解一部分。
做好准备工作后,就开始了开发过程,工作中最重要的,也是最不合心意的部分。
"没有文档,自己去抓接口分析理解吧",这是我“翻译”出来的话,学长当时就叫我抓线上的接口,之后在项目中根据路由,找到对应的处理逻辑。还好,我能接受,事实上,我感觉有没有文档都是一样的,都是自己思考学习项目中处理逻辑与上下游数据传递。
分析代码逻辑,此处不想说什么...
- 大量代码注释:时不时就会看到几行注释,对于实习生我来说,我很疑惑,我就想知道,原来是干啥的...也有些影响我分析代码逻辑,我看到这些注释,我就觉得这不是一个比较有规范性的项目,我刚开始就有一个比较烦的心态去看代码,也会影响我进度。
- 字段映射与转换问题:需求上是查询某某广告位的字段,我后端查表,发现找不到这个字段,最后发现是通过FlowType字段在前端进行一个映射,前端是写死的,就是通过该字段的值,映射为什么广告类型名字。至于是怎么发现的,首先在抓接口时候发现广告位是传递这个字段,然后又问其他学长了解到是前端写死处理的。关键点是没有文档说明,然后代码里面也没有注释说明,真是一个坑。
- 错误直接忽略问题:我认为算是一个比较严重的问题吧,毕竟在小组老师们也强调过,但目前工作上就是有,我还踩过坑,前后端联调,请求失败,就是不报错,登服务器查,查不到,本地也查不到,定位不到错误点,到最后是靠AI解决的,就因为这一点,调试了一上午+中午,心态不好。刚开始几天都是手写代码,用AI比较少,迫不得已使用AI,现在基本上都用AI写。
- 本地调试问题。我问学长怎么测试,回答是推送到测试环境测试。有时候,作为一个实习生,就因为一个字段映射问题,或者是很微小的错误,都需要提交,推送、部署到测试环境,这个过程需要5分钟,完后之后又要让前端帮忙测试,前端那边需求也很多,就是有时候,一个小小的逻辑问题要测试2个小时,甚至更多。本地项目是启动不了的,而且本地配置又与测试环境不一样,推送到测试环境之后,有一个配置覆盖过程。测试过程花费时间巨多。问学长的话,学长也没有办法,他们也是这样测试对接的...还好目前的需求都是新的模块,可以自己写代码,而不是维护老代码。
- 项目结构问题。刚开始写报表需求,旧版报表代码,一个函数将近300行,过滤、选择、聚合逻辑全部在一个函数里面完成,代码真就不想看,之后为了在现有结构上优化,请求参数能传递20个...有的数据库层处理逻辑是在model下的,而有的就是直接用,直接获取全局db,直接查询。而且一个汇总的中间表,通常用于连表查询的,字段就是想加就加(在代码model模型下),有用的没有用的字段都有,原表10个字段,代码model模型15 16个字段。分层也是比较混乱,没有什么规范。让我们实习生来维护,而且产出也催的紧。
目前状态、工作进展。
目前在需求对接,以及后续的测试、调试上已经有比较清晰策略了,在代码技术方面,我更会借助AI来评判、分析(当然是各个AI都问一遍,避免完全陷入AI中)代码规范、分层以及后续的维护上;测试方面,我坚持使用apifox等测试软件,并告知前端该apifox的重要性;剩下的问题,也经过一个月的沉淀,以及几次产品与我们实习生对接并讲述业务流程,在同步、逐渐解决。我不可能解决所有问题,只能面对问题,在问题中向标准答案方向靠拢。
在我所做的改变上,我也期望能获取组长、学长的认可,当然,需要我继续在沉淀几个月,我相信我做的是正确的