以下为我个人踩坑后的总结
项目内新需求,研发顺序
废话:之前被坑惨了,研发分支管理错乱,研发途中被修改数据库字段,提交代码后代码合并被合并遗漏。我只能说欲哭无泪。
1.接收新需求:这一步一般分为两类,一是要理解需求涉及的业务逻辑,二是原型图上面的内容,不懂一定要先问清楚,一定要先问清楚!不然可能会做无用功!!!
2.确认代码库地址及开发分支,一般情况此步不会出错,直接在开发分支新建一个自己的开发分支就行,但是!!!!特殊情况的时候,一定要明确自己的代码会被先合并到那个分支,就从那个分支拉代码。
3.库表设计:部分需求可能直接沿用以前的库表就行,但是但凡涉及到库表设计一定要谨慎谨慎再谨慎,因为可能你代码写完了,库表改了,最后自己的代码都会给自己绕晕。
4.代码研发,功能实现。此处并无过多建议,我个人会从controller往后写。
5.功能自测并调整bug
6.代码合并:这个地方需要注意处理冲突的问题,千万别把别人代码合掉了(没错,我在说某个把我代码合掉了的人)。此处和分支也有一定关联,建议研发的时候不要从别人正在研发的分支拉取然后合并至他的分支,除非他真的懂怎么合代码(没错,我又在说他!气煞我也)。
7.前后端对接:一般可能还会在这一步之前让你出一个接口文档,有些不规范的就会直接对接,这一步相对来说,和前端沟通清楚入参和出参就可以了。
8.部署测试环境:部署完之后一定要先自己测试一下,测试环境和自己的接口自测会有一些意想不到的问题。
9.修复测试人员提出的bug
10.上线
代码问题排查顺序
一般顺序为:
确认出现问题的接口—>获取与报错时候一样的入参—>直接运行—>查看日志确定问题类型—>需要的话debug模式启动代码断点到报错的行数,确认此时各个参数是否正常,不正常则反推合适给该参数赋值的。
个人遇到的代码问题如下:
1.启动问题:此类问题又分为两类。
a.包的问题:clean,install能解决百分之八十以上包的问题(原本项目如果能跑)。如果clean,install之后仍有包报错,就定位到报错的地方,确认其包所在位置,可能是本地缓存的内容导致maven私服上面的包下载不下来(具体原因不太清楚),可以清除引入不了的maven包所在的文件夹后再clean,install试试。如若还不行,就需要查看包的版本,下载下来的包的内容中是否包含报错的类或类中的属性,方法。
b.代码问题:idea会贴心的报出报错的行数,以及相应堆栈信息。定位行数,然后看堆栈内的异常类型就能定位问题。
2.代码逻辑问题:idea会贴心的报出报错的行数,以及相应堆栈信息。定位行数,然后看堆栈内的异常类型就能定位问题。
a.空指针问题:此类问题大多为没考虑到可能某个变量为空,根据业务逻辑做个判空,抛出异常或直接跳过就行。
b.sql报错:这个没什么好说的,直接把sql复制出来看看执行结果是否与预期一致。
c.数据异常:一般为sql问题,例如取值字段不对,也有可能是取值后计算的逻辑不对。