博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
写规范代码的意义------去除魔法数字
阅读量:5020 次
发布时间:2019-06-12

本文共 964 字,大约阅读时间需要 3 分钟。

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

 

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

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跟着的业务逻辑。清晰可见。

 

转载于:https://www.cnblogs.com/zhongzheng123/p/6136882.html

你可能感兴趣的文章
Oracle11gr2_ADG管理之switchover实战
查看>>
使用Spring 线程池
查看>>
Linux学习笔记:rm删除文件和文件夹
查看>>
理解管理信息系统
查看>>
JZOJ5146:港湾
查看>>
列表类型内置方法
查看>>
Object、Function、String、Array原生对象扩展方法
查看>>
了解一下 Linux 上用于的 SSH 图形界面工具
查看>>
设计模式之组合模式
查看>>
机器学习好网站
查看>>
python 中的 sys , os 模块用法总结
查看>>
解题:国家集训队 Middle
查看>>
响应者链
查看>>
指针从函数内部带回返回值
查看>>
在使用webView播放flash或视频文件时无法关闭声音的问题
查看>>
redhat 7 源码安装 mysql5.5.49
查看>>
CCP浅谈
查看>>
NAT虚拟网络配置
查看>>
c#部分---需要实例化的内容;
查看>>
销售类
查看>>