优化:基于阿里巴巴 Java 开发手册(黄山版)优化常量及包命名

1.编程规约>常量定义>第4条:
【推荐】不要使用一个常量类维护所有常量,要按常量功能进行归类,分开维护。
说明:大而全的常量类,杂乱无章,使用查找功能才能定位到要修改的常量,不利于理解,也不利于维护。
正例:缓存相关常量放在类 CacheConsts 下;系统配置相关常量放在类 SystemConfigConsts 下。
2.编程规约>常量定义>第5条:
【推荐】常量的复用层次有五层:跨应用共享常量、应用内共享常量、子工程内共享常量、包内共享常
量、类内共享常量。
  1)跨应用共享常量:放置在二方库中,通常是 client.jar 中的 constant 目录下。
  2)应用内共享常量:放置在一方库中,通常是子模块中的 constant 目录下。
  反例:易懂常量也要统一定义成应用内共享常量,两个程序员在两个类中分别定义了表示“是”的常量:
  类 A 中:public static final String YES = "yes";
  类 B 中:public static final String YES = "y";
  A.YES.equals(B.YES),预期是 true,但实际返回为 false,导致线上问题。
  3)子工程内部共享常量:即在当前子工程的 constant 目录下。
  4)包内共享常量:即在当前包下单独的 constant 目录下。
  5)类内共享常量:直接在类内部 private static final 定义。
This commit is contained in:
2023-03-03 22:34:19 +08:00
parent 94be1f9553
commit 1257a4bc35
19 changed files with 61 additions and 61 deletions

View File

@@ -25,7 +25,7 @@ import org.springframework.stereotype.Service;
import cn.hutool.core.collection.CollUtil;
import top.charles7c.cnadmin.auth.service.PermissionService;
import top.charles7c.cnadmin.common.consts.Constants;
import top.charles7c.cnadmin.common.constant.SysConsts;
import top.charles7c.cnadmin.system.service.MenuService;
import top.charles7c.cnadmin.system.service.RoleService;
@@ -46,8 +46,8 @@ public class PermissionServiceImpl implements PermissionService {
public Set<String> listPermissionsByUserId(Long userId) {
Set<String> roleCodeSet = this.listRoleCodesByUserId(userId);
// 超级管理员赋予全部权限
if (roleCodeSet.contains(Constants.SUPER_ADMIN)) {
return CollUtil.newHashSet(Constants.ALL_PERMISSION);
if (roleCodeSet.contains(SysConsts.SUPER_ADMIN)) {
return CollUtil.newHashSet(SysConsts.ALL_PERMISSION);
}
return menuService.listPermissionsByUserId(userId);
}

View File

@@ -24,7 +24,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import com.fasterxml.jackson.annotation.JsonInclude;
import top.charles7c.cnadmin.common.base.BaseVO;
import top.charles7c.cnadmin.common.consts.Constants;
import top.charles7c.cnadmin.common.constant.SysConsts;
import top.charles7c.cnadmin.common.enums.DataScopeEnum;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;
@@ -90,7 +90,7 @@ public class RoleVO extends BaseVO {
private Boolean disabled;
public Boolean getDisabled() {
if (Constants.SUPER_ADMIN.equals(roleCode)) {
if (SysConsts.SUPER_ADMIN.equals(roleCode)) {
return true;
}
return disabled;

View File

@@ -29,7 +29,7 @@ import org.springframework.transaction.annotation.Transactional;
import cn.hutool.core.collection.CollUtil;
import top.charles7c.cnadmin.common.base.BaseServiceImpl;
import top.charles7c.cnadmin.common.consts.Constants;
import top.charles7c.cnadmin.common.constant.SysConsts;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;
import top.charles7c.cnadmin.common.model.vo.LabelValueVO;
import top.charles7c.cnadmin.common.util.validate.CheckUtils;
@@ -136,7 +136,7 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, RoleDO, RoleVO,
if (detailObj instanceof RoleDetailVO) {
RoleDetailVO detailVO = (RoleDetailVO)detailObj;
Long roleId = detailVO.getRoleId();
if (Constants.SUPER_ADMIN.equals(detailVO.getRoleCode())) {
if (SysConsts.SUPER_ADMIN.equals(detailVO.getRoleCode())) {
List<MenuVO> list = menuService.list(null, null);
List<Long> menuIds = list.stream().map(MenuVO::getMenuId).collect(Collectors.toList());
detailVO.setMenuIds(menuIds);

View File

@@ -34,8 +34,8 @@ import cn.hutool.core.util.StrUtil;
import top.charles7c.cnadmin.common.base.BaseServiceImpl;
import top.charles7c.cnadmin.common.config.properties.LocalStorageProperties;
import top.charles7c.cnadmin.common.consts.Constants;
import top.charles7c.cnadmin.common.consts.FileConstants;
import top.charles7c.cnadmin.common.constant.FileConsts;
import top.charles7c.cnadmin.common.constant.SysConsts;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;
import top.charles7c.cnadmin.common.model.dto.LoginUser;
import top.charles7c.cnadmin.common.service.CommonUserService;
@@ -81,7 +81,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserVO,
request.setStatus(DisEnableStatusEnum.ENABLE);
Long userId = super.add(request);
super.lambdaUpdate()
.set(UserDO::getPassword, SecureUtils.md5Salt(Constants.DEFAULT_PASSWORD, userId.toString()))
.set(UserDO::getPassword, SecureUtils.md5Salt(SysConsts.DEFAULT_PASSWORD, userId.toString()))
.set(UserDO::getPwdResetTime, LocalDateTime.now()).eq(UserDO::getUserId, userId).update();
// 保存用户和角色关联
userRoleService.save(request.getRoleIds(), userId);
@@ -139,7 +139,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserVO,
CheckUtils.throwIf(() -> avatarFile.getSize() > avatarMaxSizeInMb * 1024 * 1024,
String.format("请上传小于 %s MB 的图片", avatarMaxSizeInMb));
String avatarImageType = FileNameUtil.extName(avatarFile.getOriginalFilename());
String[] avatarSupportImgTypes = FileConstants.AVATAR_SUPPORTED_IMG_TYPES;
String[] avatarSupportImgTypes = FileConsts.AVATAR_SUPPORTED_IMG_TYPES;
CheckUtils.throwIf(() -> !StrUtil.equalsAnyIgnoreCase(avatarImageType, avatarSupportImgTypes),
String.format("头像仅支持 %s 格式的图片", String.join("", avatarSupportImgTypes)));
@@ -206,7 +206,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserVO,
@Override
public void resetPassword(Long userId) {
UserDO userDO = super.getById(userId);
userDO.setPassword(SecureUtils.md5Salt(Constants.DEFAULT_PASSWORD, userId.toString()));
userDO.setPassword(SecureUtils.md5Salt(SysConsts.DEFAULT_PASSWORD, userId.toString()));
userDO.setPwdResetTime(LocalDateTime.now());
baseMapper.updateById(userDO);
}