首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

公司之前的一个后端离职了,他写的代码今天让我接手,感觉逻辑有些难读,大佬看看他是什么水平啊,5555

公司之前的一个后端离职了,他写的代码今天让我接手,感觉逻辑有些难读,大佬看看他是什么水平啊,5555?

挺好的就正常水平而已啊,而且变量名起的很明白,应该是正常离职,否则都给你替换成 illi,iili,iiii,iiil,ii|l OO0o,OOO00,Ooo00

说实话从这些代码里看不出水平高低,但是能看懂要干啥,也许我的水平也不够高。如果你看起来很困难,那么我猜测你入行时间一定不长,稍微看看定义和调用的实现,应该很快就明白业务逻辑了,祝你好运。

多线程查询加了些符合某个条件下插入或更新操作。

一般性建议:set值的部分可以抽出来放到下面的私我方法里,这些细节不是本方法特别关心的部分,当然这属于个人习惯,只是方法会更简洁一些。

强制性建议:尽量别用Executors去创建线程池,自己去设置也更好管理,你看这个类给的线程池方案,不是最大线程数就是队列是Integer最大值,极端情况下oom,另外多线程事务我没看到哪里保证了?子线程异常,没有额外操作事务可不会回滚。

如果我cr代码,我会问为啥一定要多线程,能不能有别的方案提高效率,另外一定要用的话要给出事务的解决方案,否则代码不通过。

为什么用!isEmpty 不用isNotEmpty,好难受

方法体内几乎没注释就看看方法声明上或类上有没有注释,都没有就看看它insert、update的表是个什么数据表,先搞清楚方法大致要完成的目的,再去看细枝末节的东西就不难懂了,光这么裸着看,也只能大致知道他搞了个线程池然后异步插入或修改了些数据。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Ov-f6ALKZIWspiEo3IFUu3Dw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券