大家好,好久没有写公众号了,最近有朋友参加面试被问到开发规范的问题,突然发现每天干着工作,却没有关注这个问题,就想着写篇文章,简单的说下自己公司的开发规范。
关于规范,每个公司都有自己独特的开发规范,归根结底,好的规范才能提高一个团队的效率,接下来,简单的说下自己公司的开发规范,如果大家能在其中有所收获,就是值得的,欢迎评论区交流。
接口规范:
1、在开发之前必须要先定义接口,定义接口就必须要思考你的需求,逻辑,在写接口文档的时候其实你就已经在你的大脑中实现了一遍你的需求了。
2、你定义的接口也是要有标准的,包括不包含多余的字段,正式环境和测试环境的数据格式必须一致,文档与真实开发出来的接口必须一致等等。
3、在开发的过程中,如果接口有变化,需要及时和前端或者客户端沟通,避免因为信息的不同步问题而导致工期延误。
4、还有前端和APP拿到你的接口数据之后不需要再次的进行逻辑处理,比如说,状态字段是int类型,你把所有的枚举类型给他,让他自己去循环判断应该显示哪个中文,如果接口定义成这样,那这个接口就是不太合格的,你可以在接口返回数据中添加一个字段来避免使用者的多余的工作量。
上线规范:
1、首先在开发完成后,我们需要自测,自测的标准并不是特别的高,只需要通过冒烟测试,能够把正常的流程走通就可以了,千万不要自测还没测好就交给测试,当测试辛辛苦苦的录完数据,走正常的流程的时候报个系统异常,这种心情应该是十分酸爽的。只有当这些常规的测试走通的时候,测试才会给你测那些比较不容易发现的问题,如果测试总是在这些显而易见的问题上兜兜转转,那么在有限的时间内,测出的产品可能质量也并不高。
2、其次测试通过之后,关注下在正式环境上是否需要资源申请,比如说服务器,redis,数据库,这些东西需要提前的给运维提交工单,让运维能够从容不迫的去准备,避免在上线那天因为资源还没准备好而耽误太长的时间。
3、在测试通过,运维准备好资源的时候,就可以部署到线上了,我们的代码现在应该是在dev分支上,我们需要把代码合并到master分支上(这里需要说明下,master分支上千万不要修改代码,我们要时刻保证master分支上的代码是和线上环境保持一致的),之后就可以通过Jenkins或者其他部署工具部署项目了。
4、部署之后,我们不能直接通知测试来测试了,我们需要用我们的测试用例,自己先访问下我们的正式环境的接口,看下是否正常,之后在通知测试回测。等待着测试汇报答复(每次上线听到测试说没有问题,心里豁然开朗)上线完成。
这里说下,在线上部署的同时需要注意的点,在dev和master分支合并代码之后要进行代码review,避免自己的误操作带来不必要的问题。
当在正式环境遇到问题的时候,我们需要先通过自己的测试用例来定位问题,可以单点线上tomcat来确定服务是否存在代码问题,如果是代码问题,修改后第二次合并代码的时候要慎重,可以使用交叉review的方式。如果问题归属配置问题,及时找运维沟通解决。上线完成后,要对master分支上打tag,在tag中说明此次部署上线的主要内容。
以上只是简单的说了下接口文档和上线的规范,接下来还会说数据库设计相关的规范,作为自己的知识总结,也希望能帮助到其他人。