代码重构感想

本文是一篇流水账,将会浪费你几分钟的时间,刷到的铁子不太闲就没必要看了

絮絮叨叨

月初,我来到了实习的公司入职,认识了一下各种以前没有接触过的平台,业务,有些词汇也没接触过,反正就两字儿:牛掰!
不久就上手了一个后台,增加了一些新的需求,在curd的过程中去了解一些公司的开发流程,同时初步对公司的业务进行了熟悉,简单的小需求上线后,哎呦,还阔以,于是嘛,就来活儿了,这两周,一直在进行一个对话机器人部分模块的重构,因为是算法大佬那边的需求,同时也是老大的安排,干就完事儿了!

行动

有一说一,这是第一次在这种比较复杂的项目里进行代码的重构,我也真正意义体会到代码重构为什么能出一本书(原谅我只是个落魄的Java后端小辣鸡)
谈起重构,之前在学校做项目的时候,也进行过重构,但是毕竟当时真的很简单,而且就是把SSM搞成Springboot + JPA,没有设计上的思考,没有业务场景的复杂需求,两天搞定,上线。
但是这次不一样,这个对话机器人,底层对于不同场景,Faq等等的处理,逻辑上各方面还是较为复杂的,尤其是涉及到service之间,方法之间的层层嵌套。
于是就先跟老大问问整体的代码组成,或者说是业务架构,才算是勉强有了眉目,大概就是看代码,看数据库表,再结合接口文档,然后同时自己实际去使用上线产品,用了三四天的时间,才算是初步熟悉了整个项目的后台,但这个时候,还是比较懵,为啥子?首先,对于需求没有完全理解,其次,确实不知道还从何下手。于是打开那本重构神作,《代码整洁之道》,哇,怎么这么一看,更晕了,要涉及和考虑的点太多太多,所以,缓缓,兄弟。
第二周周一,就开干了,想来想去,我这是因为后端请求算法那边,算法返回的接口数据协议的变更而重构,而不是代码本身冗杂与不合理(毕竟老大还是比较稳的),所以就从接口出发,从Controller,到Service,再到Dao,最后到Entity与VO,抽丝剥茧,有眉目了!于是开始哒哒哒哒敲键盘,结果就发现了问题,越改越多,越改越乱,哇,脑阔儿疼!果然我还是想简单了,真的就又是一个心理起伏,几乎有一到两天,就完全止步不前,甚至对这个开始抗拒,但是眼看着时间过去,这样子啥也不动就这么下去也没辙啊,该我做的还得我做,得,整起!
于是,用流程图,自己梳理逻辑,构成一个关系网,然后一边记录自己遇到得不理解得地方和问题,就这么过了一天,到晚上下班得前半个小时,哎嗨?忽然就茅塞顿开,果然有的时候答案就在问题里,从一连串的问题中我又明白了,又可以了!接下来写的,那叫一个酣畅淋漓,刷刷刷刷,就搞定了大部分(对了,很重要的点,一定一定,给代码进行大量的注释,让命名更加容易理解,对于魔法值进行配置,em,应该就这些了)到今天为止,还有一些小需求需要和产品沟通,除了这些以外,下周,给测试姐姐测一下,add,commit,push,merge,同步数据,上线,完事儿,希望接下来一切顺利!
总的来说,确实是有一个心理的起伏变化,对于没做过的是比较有新鲜感的,但是存在压力,过分期待后又确实存在心理落差,从困境中徘徊然后找到出路,最后越跑越快的感觉,蛮不错其实~
但是总体来说,重构的过程中,也是在试着去理解项目的架构,一些业务场景的设计思路,还是学到了很多东西~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章