写规范代码的意义------去除魔法数字

Posted 钟政123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了写规范代码的意义------去除魔法数字相关的知识,希望对你有一定的参考价值。

  毕业后,我导师跟我说,写代码不要用魔法数字,不要用魔法数字。最初只是知道,并没有深切的体验。随着写代码多了,就有体会了。

 

  毕业出来了,从最开始一拿到需求就忙着开发,但现在拿到需求,看看需求有什么漏洞,然后罗列出需求的业务逻辑。实现常用功能基本没有技术障碍了。也知道写个好代码是那么难,那么有意义。很经常看到这样的代码.

String name="xiaoming";
    if(name.equals("xiaoming")){
        System.out.println(name);
    }

代码业务逻辑也没有错,但是直接拿字符串来比较以前我经常做,那天需求需要把‘xiaoming‘改为其他的名字,比如‘xiaohong‘。哪怕是自己写的代码,如果多处用了这样的代码,修改起来都担心有某些地方没有修改到。

  用常量或者参数,不用魔法数字或者字符串,我知道两个好处。这两个好处,我目前深深地体会到了。

  1)代码更容易看懂,代码逻辑更清晰。看到代码就知道意义。业务逻辑中常用数字代表特定的意义。比如1:开启,0:关闭。如果直接看到数字,什么鬼?我都不知道是什么。

  2)代码维护和优化更容易。如果随便用魔法数字,那么如果要修改,我自己都怕,鬼知道,这个魔法参数,和其他代码上的联系。比如,一个地方的数字“1”和另一个地方的数字“1”,这连个“1”他们是亲戚吗?谁知道!

 

  我举个例子

private static final int open=1;
   private static final int close=0;
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
    
    
    int status=0;
    if(status == open){
        System.out.println("状态开启。。");
    }
    
    }

 上面写的代码,一看就知道 表示状态为open的时候,if跟着的业务逻辑。清晰可见。

 

以上是关于写规范代码的意义------去除魔法数字的主要内容,如果未能解决你的问题,请参考以下文章

项目中的”魔法值“

阿里巴巴 Java 代码规范

去除pycharm中的白色波浪线

去除console.log

编程规范

php Yoast SEO规范输出的代码片段