天天看點

曆時六個月項目開發的心得與我的庚子年

今天就要回家了,也終于在農曆新年到來之前完成了到新公司的第一個項目,現在隻有一個感覺,就是累。

(我現在就像垮起了批臉的啾啾)

曆時六個月項目開發的心得與我的庚子年

從八月初至今,時逾6個月,從項目立項到線上測試收尾,真正在寫代碼的時間大概也就一個多月。軟體開發模型上我們選擇的螺旋模型。(螺旋模型中分周期推進項目,每一周期都包括需求定義、風險分析、代碼實作和項目評審4個階段,由這4個階段進行疊代,軟體開發過程每疊代一次,軟體開發就前進一個層次)本來預計是在十月份上線第一期,之後慢慢優化疊代。因為項目經理能力超群,設計疊代的速度過快,導緻第一期還沒有開發完畢,第二期的設計文檔就出了,最終實作預計兩個月完成的工程生生地開發了6個月,一上線就是三期的内容。

與老公司一直在原先的項目上打更新檔不同,新公司直接安排我和另外三位同僚(兩個後端一個前端)負責新項目的開發與設計(當然是有師傅帶的,不過師傅主要負責把控進度、檢查代碼的規範)。最開始一個月還是有點慌的,第一次獨立做項目,就負這麼大的資金(機關是億),如果出問題了我豈不是當場去世?

項目剛剛推進還沒多久的時候,前端同僚就離職了,新的前端同僚屁股還沒坐熱,唯一一個後端老員工也選擇了更大的舞台,當然,雖然他們離開了,但是後續的會議中還是能經常聽到他們的名字(項目開發中離職的同僚永遠是最好的背鍋俠)。

因為自身的格局還不夠大,是以在整個項目中,我能夠真正參與的也就是技術選型、架構設計、技術方案編寫與代碼開發了,其他的類似于與其他機關的溝通、風控模型地建設之類的,與我而言,隻是參與一下會議,并沒有什麼發言權。

對于技術選型而言,在MQ,資料庫之類的并沒有什麼好選擇的。公司其他的項目用的都是activeMq、mysql、redis和mongodb,是以我們項目也得用activeMq、mysql、redis和mongodb。當然,在一些新的地方也可以有自己的選擇。比如資料脫敏我們選擇了ShardingSphere(詳情可見【進階之路】基于ShardingSphere的線上業務資料脫敏解決方案),定時任務我們選擇了xxl-job(詳情可見【進階之路】定時任務調用平台xxl-job),甚至于資料對比、資料校驗的處理工具包,我直接使用了weed中的工具(詳情可見【開源之路】溫蒂、一次簡單的嘗試)。當然,weed的功能我也進行了好幾次的更新優化,以後會寫新的文章來介紹

架構方面,我們才用的是傳統的springCloud分布式架構,在消息一緻性方案中基本按照了【進階之路】可靠消息最終一緻性解決方案的思路進行設計。主要的功能類的實作基本按照責任鍊模式與橋接模式進行實作。當然,代碼肯定不能貼上來,一些設計中留下來無關緊要的流程圖可以分享一下。

橋接模式流程設計:

曆時六個月項目開發的心得與我的庚子年

架構設計(與老項目接口對接需要用到dubbo和tomcat):

曆時六個月項目開發的心得與我的庚子年

這一部分就很簡單了,技術方案一般公司都會有精準、完善的模闆,隻需要根據公司的要求來做就好了。

當然,技術方案如何寫編寫、代碼如何開發,在基本的模闆上,每個人都有自己的想法,但是經過一個大項目後(其中很多事情其實是自己在推動、跟進),我發現千萬不要因為很緊急,或者沒有頭緒而沒有對代碼進行規範。如果一開始就沒有做好規範,或者覺得自己的代碼自己肯定能看懂,不用在開發的過程中畫好UML圖、ER圖、資料流圖等,那麼等待着你的就是第三期的時候已經把第一期的思路忘光了。

坐在回家的高鐵上,望着窗外不停奔湧而過的景物,心情其實非常的複雜,今年算是高開低走吧。年前的時候,很多想完成的事情,其實并沒有很漂亮地完成,很多想做的事,最後也隻是流于計劃。

曆時六個月項目開發的心得與我的庚子年

蝶戀花·空餘回聲兩彷徨

雲卷雲舒雲泣露。綠印梧桐,荑葇無重數。斜月不谙鴻鹄苦,暗香沉浮長歌路。

空餘回聲兩彷徨。黃昏陌上,青絹卻微張。長平領兵書好計,不染纖塵容别緒。

我是練習java兩年半時間的南橘,下面是我的微信,需要之前的導圖或者想互相交流經驗的小夥伴可以一起互相交流哦。
曆時六個月項目開發的心得與我的庚子年