zoukankan      html  css  js  c++  java
  • myeclipse 编写java代码提示 dead code 原因

          经常使用MyEclipse或Eclipse编辑器编写java代码的程序员,可能经常遇到一个黄线警告提示:dead code;一般程序员遇到这些问题都会置之不理,反正也不影响程序的编译执行。对,这不是bug,只是一个提示,对于一个有强迫症的程序员来说,他非要代码一点问题都没有,包括黄线警告都要消灭掉,这里简单说下dead code 即死代码、无作用的代码提示的原因和解决方法。

         顾名思义,死代码,即你编写的那一行是无效代码,可有可无,说白了就是一行废话;这是你就要看一下这一行的处理逻辑是什么,可能是多余判断或者其他多余代码;比如如下情况:

    1.情况一:没用的条件判断,就是你判断的这个条件永远为真 

    if (true & true) {
       System.out.println("execute ok");
      } else {
       System.out.println("execute fail");
      }

    从else开始即为无作用。

    因为true&true在编绎时即知结果,所以else部分是无用的,编译器知道肯定不会执行的代码。

    换成:

    boolean a = true;
      boolean b = true;
      if (a & b) {
       System.out.println("execute ok");
      } else {
       System.out.println("execute fail");
      }

    则不会出现该问题,因为在编译时编译器不确定a & b是否恒成立。

    2.情况二:多余的判断,就是你判断的这个对象永远不为空;其实类似于情况一

      TimeLineEventModel dataModel = new TimeLineEventModel();

    if(dataModel !=null){

        执行一些操作.....

    }

       这里的判断也是多余,因为你已经new了这个对象,那这个对象就不会为空


         未完待续,可能还有其他一些情况的死代码,等到时候编码遇见了再进行补充吧!目前来看,dead code提示一般出现在if或其他判断的条件上。



    转载请指明:http://blog.csdn.net/yangkai_hudong

  • 相关阅读:
    09-23
    21-9-18日记1
    paho mqtt库使用记录
    UIS8811 的 NB-IOT 初认识(21-9-10工作记录 )
    go语言之异常捕获
    【原创】数据库基础之PostgreSQL
    【原创】Linux基础之fail2ban
    【原创】大叔经验分享(132)mac os 12启动idea失败
    【原创】大数据基础之Hadoop(3)hdfs diskbalancer
    【转】常用 Git 命令清单
  • 原文地址:https://www.cnblogs.com/yangkai-cn/p/4016561.html
Copyright © 2011-2022 走看看