美文网首页Java码农的世界
什么是Java中的魔法值?

什么是Java中的魔法值?

作者: 一觉睡到丶小时候 | 来源:发表于2019-10-24 13:46 被阅读0次

使用IDEA时,启用了阿里的代码规范检查,其中就有一项提示是不允许任何魔法值出现在代码里,于是出于好奇就了解一下到底啥时魔法值。

介绍

魔法数值、魔法数字、魔法值,这是一个东西,不同的叫法。
所谓魔法值,是指在代码中直接出现的数值,只有在这个数值记述的那部分代码中才能明确了解其含义。

看一段代码

 /**
     * 获取当前周所有的日期
     *
     * @return
     */
    public static List<String> getRangeDayOfWeek() {
        List<String> list = new ArrayList<>();
        // 日期格式转换
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        // 时间调整到本周一
        Calendar instance = Calendar.getInstance();
        instance.set(instance.get(Calendar.YEAR), instance.get(Calendar.MONDAY), instance.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
        instance.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
        //循环打印
        for (int i = 1; i <= 7; i++) {
            list.add(sdf.format(instance.getTime()));
            instance.add(Calendar.DAY_OF_WEEK, 1);
        }
        return list;
    }
图片.png

解决办法

使用static final 定义常量或使用enum值

static final int WEEK_DAYS= 7;

注:使用static final 声明常量,可以方便以后维护更新。修改变量的值时只用修改一处,还不用担心修改了其他不该修改的常量。

总结

魔法值的问题对于代码逻辑来说,并不是什么要命的事情,即使不修改也基本不影响代码的正常运行,我以前没有安装阿里代码检查规范时,一样这么使用,也没出现过啥问题。好吧,应该说但是了。但是,遵循公认的代码规范,可以有效的避免开发过程的一些小问题(最让人头疼的往往都是一些小问题引起的),提升开发的效率和代码的可阅读性,老老实实按照规范来,自然就会受益良多,继续加油!

相关文章

  • 什么是Java中的魔法值?

    使用IDEA时,启用了阿里的代码规范检查,其中就有一项提示是不允许任何魔法值出现在代码里,于是出于好奇就了解一下到...

  • 如何提高自己的意志力?

    我常常把意志力比作魔法值。魔法值是会被消耗,同时也可以恢复。并且魔法值的总量,是会随着等级升高,而增大的。看那些意...

  • 异世界设定总结

    主角 a 超人能力 海量魔法值 天赋勤奋光环等te 获i a 超规格 a 魔法值o 强osi 主角 a 魔法伤害魔...

  • 五、RPGAttributeSet.h/cpp & Attrib

    Attibute Set Attribute Set中定义的属性就是RPG游戏中的人物属性,如血量、魔法值。数据类...

  • java中什么是递归

    java中什么是递归 什么是递归 递归做为一种算法在程序设计语言中广泛应用,它是指函数/过程/子程序在运行过程中直...

  • java中什么是线程

    java中什么是线程 什么是线程 线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进...

  • Spring Data JPA(待完善)

    什么是JPA JAP(Java Presistance API) 是用于Java EE 和 Java SE 环境中...

  • 阿里规约常量定义

    【强制】不允许任何魔法值(即未经定义的常量)直接出现在代码中。反例:String key = "Id#taobao...

  • 关于编程语言,关于java.

    什么是java? 什么是java?首先要理解什么是编程语言? 或者,什么是程序? 什么是程序?简单的说,生活中的程...

  • Java基础知识点(八)

    一、认识 Java 中的字符串 1、什么是 Java 中的字符串 在 Java 中,字符串被作为 String 类...

网友评论

    本文标题:什么是Java中的魔法值?

    本文链接:https://www.haomeiwen.com/subject/zawrvctx.html