• 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

  • 相关阅读:
    win10-wifi无线共享自动关闭解决
    可用的nlog配置
    cmake 常用指令,变量
    window时间服务
    命令行配置服务启动类型
    boost流gzip压缩
    mysql 查询某表的所有列,获取毫秒时间戳
    system进程占用80端口
    centos8重新分区(减小/home空间,增大root空间)
    emqx使用data_to_webservice方式配置规则引擎简单实践
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/5038806.html
Copyright © 2020-2023  润新知