当下有千百万准程序员为了高工资而趋之若鹜开始转码,梦想着未来能有一天吹着空调写着20%的代码做80%的事(拿着80%的工资),但是其实很多人对其软件的开发流程并不是很熟悉导致初期不断踩坑走弯路,最终耽误了不少时间。而这些时间积累起来将会是致命的,会严重影响你的职业生涯,所以我们也应当为自己的前途着想,少踩坑,多享乐!
话题回来,这里就分享一下初级程序员的一些开发流程供大家参考,希望大家可以提些意见共同进步。
1.明确任务需求
此处以一个查询接口为例,上面发过来一个需求为查询一个树形结构的数据(也就是拥有父子节点对应关系的数据),此处我们应当知道其任务所需要的输入以及输出,输入为查询条件如部门编码,流水号一类的,或者是什么条件都不带。而输出信息则是根据条件进行等值匹配或者是模糊匹配,又或者是全部输出。而此处需要明确的是输出结果为树形结构。
2.实现逻辑的思考
此处则是最为重要的一环,很多人此时可能就开始动手写了,但是没有明白具体实现逻辑的话,新手很可能就会踩坑陷入无限修改代码的境地(老手就熟练了),此处延续上一节的案例,考虑我们应当如何实现需求中的输出。比如如果我们想要得到树形结构,我们可以在后端采用对象套对象的形式类似下图
这种一个对象中包含一个list的形式在json数据交互时就会形成树形结构。
另外这里涉及到一个与数据库进行交互的问题,由于系统中最大的瓶颈不在代码而在关系型数据库,所以我们需要尽可能减少I/O次数,我们可以尽可能使用先查出所有数据然后使用代码进行处理,或者在一定条件下使用多表联查(根据情况使用左右连接全连接),避免使用将对数据的i/o操作放入循环体导致对数据库进行多次连接,那资源消耗可不是一般的大了,压测稳挂。
3.代码的具体实现
理清代码逻辑之后就可以开始编写具体实现的代码了,国内目前单体项目比较流行springboot+mybatis的实现方法,mybatis的CRUD方法想必就不用多说,在考虑好代码实现逻辑后将接口代码编写出来即可。有致命bug的情况下就在debug模式打对应的断点查看逻辑,必要的时候可以贡献一些单元测试方便以后使用。
4.代码整体测试
这个部分除了开发人员写的整体测试,还有的就是测试专员对代码的深度测试如黑盒白盒一类的(如果有测试专员的话),如果你不幸入了外包一类的或者是小公司,你基本上就得大包大揽了。话题回来,这里就是给你的代码进行复测的阶段,可以在一定程度上找出开发所难以发现的错误。
5.接口文档的编写
对于一些大中型项目,特别是公司内部使用的项目,接口文档是十分必要的,因为基本上你写的代码不出事的话别人也懒的去揣摩具体实现逻辑(到时候出事了找你的那种),所以我们应当在代码测试通过或者测试途中给你自己的代码写接口文档,而接口文档事例可以参考一下swagger的那种,有输入样例,输出样例,以及入参出参数据类型等,比如下面这种
具体可以参考一下这个文章https://easydoc.net/a/api-guide/
6.完成交付
此处就是完成目标任务后给上级汇报的时候了,祝你好运,不行的话还得返工,而返工基本就逃不过加班了,望自知。
总结
刚参与工作写接口的多半不会工作量太大,而项目文档这些也根据项目的大小以及公司的大小决定写还是不写但是1,2,3是你不可回避的流程,望2022年新入职的未来躺王以及卷王,珍惜自己的时间,少走弯路,我们都有着光明的未来