//判断工程类型 1-海塘 2-水闸 3-泵站 switch (projBaseSaveOrUpdateVo.getProjectType()){ case"1": //新增或修改海塘信息 Seawallseawall= BeanUtils.toBean(Seawall.class,projBaseSaveOrUpdateVo); flag = flag && seawallService.saveOrUpdate(seawall); break; case"2": //新增或修改水闸信息 Sluicesluice= BeanUtils.toBean(Sluice.class,projBaseSaveOrUpdateVo); flag = flag && sluiceService.saveOrUpdate(sluice); break; case"3": //新增或修改泵站信息 Pustpust= BeanUtils.toBean(Pust.class,projBaseSaveOrUpdateVo); flag = flag && pustService.saveOrUpdate(pust); break; default: }
这里的 case “1” 、case “2” 、 case “3”,在阅读代码前,没人清楚其代表意义 。于是这里就出现了三个魔法值。
解决方法
方法一:静态常量(不推荐)
修改后代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
//判断工程类型 1-海塘 2-水闸 3-泵站 switch (projBaseSaveOrUpdateVo.getProjectType()){ case SEAWALL: //新增或修改海塘信息 Seawallseawall= BeanUtils.toBean(Seawall.class,projBaseSaveOrUpdateVo); flag = flag && seawallService.saveOrUpdate(seawall); break; case SLUICE: //新增或修改水闸信息 Sluicesluice= BeanUtils.toBean(Sluice.class,projBaseSaveOrUpdateVo); flag = flag && sluiceService.saveOrUpdate(sluice); break; case PUST: //新增或修改泵站信息 Pustpust= BeanUtils.toBean(Pust.class,projBaseSaveOrUpdateVo); flag = flag && pustService.saveOrUpdate(pust); break; default: }
//判断工程类型 1-海塘 2-水闸 3-泵站 switch (projBaseSaveOrUpdateVo.getProjectType()){ case ProjBase.SEAWALL: //新增或修改海塘信息 Seawallseawall= BeanUtils.toBean(Seawall.class,projBaseSaveOrUpdateVo); flag = flag && seawallService.saveOrUpdate(seawall); break; case ProjBase.SLUICE: //新增或修改水闸信息 Sluicesluice= BeanUtils.toBean(Sluice.class,projBaseSaveOrUpdateVo); flag = flag && sluiceService.saveOrUpdate(sluice); break; case ProjBase.PUST: //新增或修改泵站信息 Pustpust= BeanUtils.toBean(Pust.class,projBaseSaveOrUpdateVo); flag = flag && pustService.saveOrUpdate(pust); break; default: }