昨天参加了一个同事的转正答辩,深有感慨!
他说:在开发过程中发现,我们的异常处理不是很好。所有的controller层都有各种try/catch代码。如下图所示:
开发一个全局异常处理程序,它不香么。其实我们都知道,写一个这样的代码,是一个so easy的事情,可是没人主动去做,包括我自己。但他(一个试用期的员工)去主动做了。
他说:要拥抱开源,所以他引进了mapstruct。在项目中,可以快速地实现VO、DTO等实体类之间的相互转换。
我们欢迎这种有想法的年轻人,虽然在有些时候,他会犯错。
他在改造Mongo查询的时候,因为业务不理解等原因,导致上线后出现了bug。
他在改造日志的时候,导致项目不能正常编译。
在面对这些有想法的年轻人时,我们需要去引导他们的一些设计(想法)。
如:他提出在调用Feign接口时,返回success时,直接抛出异常,避免在项目中进行各种判断。然后我问他的实现思路,他说通过AOP来处理。我建议他看看FeignConfiguration 、自定义encoder以及decoder。然后将我之前的代码提供给他进行参考。
同时,做为一个有着多年开发经验的同学,应该也要保持这种积极的心态。在求稳的同时,争取创新。(我们以前一直没有去改进的原因:是怕改出bug,影响到我们的日常生活。汗颜)