经常使用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

最新文章

  1. 高性能异步图片加载器的JS库:lazysizes
  2. Android学习地址
  3. nexus私有仓库搭建
  4. HttpSessionBindingListener和HttpSessionAttributeListener区别 - gengkunpeng的专栏 - 博客频道 - CSDN.NET
  5. 在android.app.Application中定义全局变量
  6. 【WPF】【火车站点信息查询】
  7. 兼容ie\firefox\chrome的cursor
  8. Android线程计时器实现
  9. 支付宝接口使用文档说明 支付宝异步通知(notify_url)与return_url.
  10. netbeans字体与颜色配置模板相关网站
  11. 开源 java CMS - FreeCMS2.3员
  12. (简单) POJ 2240 Arbitrage,SPFA。
  13. python——爬虫&问题解决&思考(四)
  14. MongoDB入门系列(一):基础概念和安装
  15. 『Möbius函数与Möbius反演』
  16. python--多线程多进程
  17. LearnOpenGL学习笔记(四)——着色器类编写
  18. Docker 使用Dockerfile构建redis镜像
  19. C# Winform模仿百度日历
  20. Priority Queue

热门文章

  1. javascript模板引擎Mustache
  2. 添加service到SystemService硬件服务
  3. Understanding Memory Management(2)
  4. PHP 'ext/gd/gd.c'信息泄漏漏洞
  5. struct ifreq结构体与ip,子网掩码,网关等信息
  6. 生产环境下JAVA进程高CPU占用故障排查
  7. Django学习随想(1)
  8. 【转】由DFT推导出DCT
  9. C++类型引用浅析
  10. 【原】Docker