blade-user微服务的UserServiceImpl中的代码非常糟糕

Blade 未结 2 1411
3395733618
3395733618 剑圣 2021-04-27 18:02

一、该问题的重现步骤是什么?

1. 需要扩展用户

2. blade_user、blade_user_web、blade_user_app、blade_user_other、blade_user_oauth的逻辑全部在这里面

3.还有大量的this.xxx的代码 ,查看代码的时候非常混乱,功底稍差一点,就会因为this.xxx()这样的调用,导致aop的事务注解失效

4.几乎没有注释

5.第三方登录调用的方法

/**
 * 用户信息
 *
 * @param userOauth
 * @return
 */
UserInfo userInfo(UserOauth userOauth);

最后生成的UserInfo,居然调用

@Override
public UserInfo userInfo(Long userId) {
	User user = baseMapper.selectById(userId);
	return buildUserInfo(user);
}
private UserInfo buildUserInfo(User user) {
   return buildUserInfo(user, UserEnum.WEB);
}

只能是WEB这个type

6.修改起来十分费劲

二、你期待的结果是什么?实际看到的又是什么?

建议重构这个部分的代码,把不同表的操作,写到不同的接口和类中。多加点注释。


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

2.8.0 centos8

四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

2条回答
  • 我不觉得糟糕,感觉还行。写得复杂就当作给盗版使用者的阻碍吧,短时间内不会再改了

    0 讨论(0)
  • 2021-07-15 10:18

    难道service中使用this调用自身的非静态方法不符合规范吗?

    0 讨论(0)
提交回复