昨天參加了一個同事的轉(zhuǎn)正答辯,深有感慨!
他說:在開發(fā)過程中發(fā)現(xiàn),我們的異常處理不是很好。所有的controller層都有各種try/catch代碼。如下圖所示:

開發(fā)一個全局異常處理程序,它不香么。其實我們都知道,寫一個這樣的代碼,是一個so?easy的事情,可是沒人主動去做,包括我自己。但他(一個試用期的員工)去主動做了。
他說:要擁抱開源,所以他引進(jìn)了mapstruct。在項目中,可以快速地實現(xiàn)VO、DTO等實體類之間的相互轉(zhuǎn)換。
我們歡迎這種有想法的年輕人,雖然在有些時候,他會犯錯。
他在改造Mongo查詢的時候,因為業(yè)務(wù)不理解等原因,導(dǎo)致上線后出現(xiàn)了bug。

以前的寫法

現(xiàn)在的寫法
他在改造日志的時候,導(dǎo)致項目不能正常編譯。

以前引用的日志(公司自己封裝的日志)

現(xiàn)在引用的日志
在面對這些有想法的年輕人時,我們需要去引導(dǎo)他們的一些設(shè)計(想法)。
如:他提出在調(diào)用Feign接口時,返回success時,直接拋出異常,避免在項目中進(jìn)行各種判斷。然后我問他的實現(xiàn)思路,他說通過AOP來處理。我建議他看看FeignConfiguration 、自定義encoder以及decoder。然后將我之前的代碼提供給他進(jìn)行參考。
同時,做為一個有著多年開發(fā)經(jīng)驗的同學(xué),應(yīng)該也要保持這種積極的心態(tài)。在求穩(wěn)的同時,爭取創(chuàng)新。(我們以前一直沒有去改進(jìn)的原因:是怕改出bug,影響到我們的日常生活。汗顏)