2020 为什么代码中最好不要出现硬编码?如何避免?

青旅半醒 2022-12-18 13:54 309阅读 0赞

为什么代码中最好不要出现硬编码?如何实现?

什么是硬编码?

硬编码是指将可变变量用一个固定值来代替的方法。简单来说就是目标固定值写死,不可改变。比如:

  1. if(a==2){
  2. System.out.println("2就是硬编码");
  3. }else if(a==SysConstast.STATUS_TRUE){ //赋值为1
  4. System.out.println("SysConstast.STATUS_TRUE就是自己定义的常量");//可以自定义常量类
  5. }

如果项目代码中存有有大量的硬编码,到后期维护修改的成本就会很高,代码的拓展灵活性就会很差,不易于有效性维护。

改变的方法就是自定义个常量的接口类,把通用的数据赋值到里面。

建一个接口public interface SysContast{}

  1. public interface SysConstast {
  2. String USER_LOGIN_ERROR_MSG = "用户名或密码不正确";
  3. String USER_LOGIN_CODE_ERROR_MSG = "验证码不正确";
  4. /** * 可用状态 */
  5. Integer AVAILABLE_TRUE = 1;
  6. Integer AVAILABLE_FALSE = 0;
  7. /** * 操作状态 */
  8. String ADD_SUCCESS = "添加成功";
  9. String ADD_ERROR = "添加失败";
  10. String UPDATE_SUCCESS = "更新成功";
  11. String UPDATE_ERROR = "更新失败";
  12. String DELETE_SUCCESS = "删除成功";
  13. String DELETE_ERROR = "删除失败";

在这里插入图片描述
把项目需要的常量赋值进去。

使用:
在controller类里编写

  1. @RequestMapping("login")
  2. public String login(User user,Model model){
  3. if(null!=user){
  4. //此处编写登录功能代码
  5. }else { //登录失败
  6. //需要返回失败信息给前端页面的error
  7. model.addAttribute("error", SysConstast.USER_LOGIN_ERROR_MSG);//直接使用 接口名.属性
  8. }
  9. return "";
  10. }

在这里插入图片描述
这样就可以避免写死,后期如果需要修改可以直接到接口里维护。

推荐

idea使用逆向工程Mybatis Generator生成代码

学生如何白嫖获得idea许可证?

为什么有了实体类pojo还要建一个实体类Vo来继承extend?

发表评论

表情:
评论列表 (有 0 条评论,309人围观)

还没有评论,来说两句吧...

相关阅读

    相关 代码避免编码”的必要性

            对于硬编码的定义不同的理解可能会有所不同,这里的硬编码指的是在代码中将一些数字或字符串常量直接写入代码中。比如一个查询语句需要以一个字段搭配一个常量作为条件查询