代碼重構感想

本文是一篇流水賬,將會浪費你幾分鐘的時間,刷到的鐵子不太閒就沒必要看了

絮絮叨叨

月初,我來到了實習的公司入職,認識了一下各種以前沒有接觸過的平臺,業務,有些詞彙也沒接觸過,反正就兩字兒:牛掰!
不久就上手了一個後臺,增加了一些新的需求,在curd的過程中去了解一些公司的開發流程,同時初步對公司的業務進行了熟悉,簡單的小需求上線後,哎呦,還闊以,於是嘛,就來活兒了,這兩週,一直在進行一個對話機器人部分模塊的重構,因爲是算法大佬那邊的需求,同時也是老大的安排,幹就完事兒了!

行動

有一說一,這是第一次在這種比較複雜的項目裏進行代碼的重構,我也真正意義體會到代碼重構爲什麼能出一本書(原諒我只是個落魄的Java後端小辣雞)
談起重構,之前在學校做項目的時候,也進行過重構,但是畢竟當時真的很簡單,而且就是把SSM搞成Springboot + JPA,沒有設計上的思考,沒有業務場景的複雜需求,兩天搞定,上線。
但是這次不一樣,這個對話機器人,底層對於不同場景,Faq等等的處理,邏輯上各方面還是較爲複雜的,尤其是涉及到service之間,方法之間的層層嵌套。
於是就先跟老大問問整體的代碼組成,或者說是業務架構,纔算是勉強有了眉目,大概就是看代碼,看數據庫表,再結合接口文檔,然後同時自己實際去使用上線產品,用了三四天的時間,纔算是初步熟悉了整個項目的後臺,但這個時候,還是比較懵,爲啥子?首先,對於需求沒有完全理解,其次,確實不知道還從何下手。於是打開那本重構神作,《代碼整潔之道》,哇,怎麼這麼一看,更暈了,要涉及和考慮的點太多太多,所以,緩緩,兄弟。
第二週週一,就開幹了,想來想去,我這是因爲後端請求算法那邊,算法返回的接口數據協議的變更而重構,而不是代碼本身冗雜與不合理(畢竟老大還是比較穩的),所以就從接口出發,從Controller,到Service,再到Dao,最後到Entity與VO,抽絲剝繭,有眉目了!於是開始噠噠噠噠敲鍵盤,結果就發現了問題,越改越多,越改越亂,哇,腦闊兒疼!果然我還是想簡單了,真的就又是一個心理起伏,幾乎有一到兩天,就完全止步不前,甚至對這個開始抗拒,但是眼看着時間過去,這樣子啥也不動就這麼下去也沒轍啊,該我做的還得我做,得,整起!
於是,用流程圖,自己梳理邏輯,構成一個關係網,然後一邊記錄自己遇到得不理解得地方和問題,就這麼過了一天,到晚上下班得前半個小時,哎嗨?忽然就茅塞頓開,果然有的時候答案就在問題裏,從一連串的問題中我又明白了,又可以了!接下來寫的,那叫一個酣暢淋漓,刷刷刷刷,就搞定了大部分(對了,很重要的點,一定一定,給代碼進行大量的註釋,讓命名更加容易理解,對於魔法值進行配置,em,應該就這些了)到今天爲止,還有一些小需求需要和產品溝通,除了這些以外,下週,給測試姐姐測一下,add,commit,push,merge,同步數據,上線,完事兒,希望接下來一切順利!
總的來說,確實是有一個心理的起伏變化,對於沒做過的是比較有新鮮感的,但是存在壓力,過分期待後又確實存在心理落差,從困境中徘徊然後找到出路,最後越跑越快的感覺,蠻不錯其實~
但是總體來說,重構的過程中,也是在試着去理解項目的架構,一些業務場景的設計思路,還是學到了很多東西~

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