问题标签 [dead-code]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5283 浏览

c++ - 如何防止编译器优化加载到从未使用过的变量

简介:我试图快速修复旧代码并使用 __try MSVC 扩展来检查某些 ptr 是否指向某些合法内存或 *ptr 是否会导致内存冲突(如果是这样,我会放弃对该 ptr 的处理)。所以我写了类似的东西:

问题是我强制访问内存的解决方案看起来很奇怪,很难看,而且我不确定它是否正确。另外请不要我不能禁用整个项目的优化,所以这不是一个选项。MSDN 上的编译指示优化文档很糟糕,也就是说,不清楚“”是否禁用了该函数的所有优化。

0 投票
3 回答
262 浏览

java - 为什么我会在此 Java 代码中收到“死代码”警告?

有人能告诉我为什么我在 else 分支中收到死代码警告if (projectId != null)吗?如果我做对了,解释器认为projectId永远不能为空 - 对吗?在我看来这是不可能的...

即使我放了一个

或一个

在...前面

结果总是一样的!

请帮帮我,我只是现在不明白!

0 投票
1 回答
754 浏览

java - 在 Android apk 中查找死代码

我正在尝试在 .apk 文件中查找死代码以进行一些分析。为此,我在 classes.dex 文件上使用 dex2jar,然后尝试使用 Proguard 来检测死代码。但是 Proguard 无法运行,给出它找不到一些动态引用的类的错误。此外,它给出了一堆警告说找不到引用的类。需要有关如何解决此问题的帮助。另外,我可以通过这种方式使用 Proguard 找到死代码吗?如果没有,我应该探索哪些其他选择?

0 投票
3 回答
601 浏览

java - 双 for 循环中的死代码

我最近开始用 Java 编码,我遇到了这个死代码问题。我一直在 Stack Overflow 上查看其他问题(和答案),但我还没有找到解决方案。希望您能提供帮助。问题发生在t++

0 投票
1 回答
2160 浏览

go - 按照设计,在golang中未检测​​/报告死代码?

我可以获取任何函数并将其panic("don't")直接扔在它的中间,而不是在任何分支或循环内(使函数的其余部分成为“死”代码),go 编译器将愉快地编译和运行,而不会将其报告为问题。

有谁知道这是否是设计使然?(编译器大声抱怨未使用的导入,所以为什么不是死代码......)他们现在不能回去改变这种行为,因为 Go 1 发布了,他们会破坏现有的格式良好的代码。只是想知道这是疏忽还是故意的。如果有疏忽,我想它必须等到 Go 2(当他们可以破坏东西时)。

0 投票
1 回答
327 浏览

java - 如何清理死/无用的代码

项目(用 Java 编写)变得越来越大,一些代码将永远不会被使用。有没有办法检测那些死/无用的代码并清理它们。我对想法持开放态度。

0 投票
3 回答
953 浏览

java - Obvious false condition in else if, not giving dead code for body inside

Going through some old code written by one of my teammate, I found this really strange code:

Strange isn't it. AFAIK, this == null condition can never be true, which should be obvious to the compiler, as it knows the meaning of this and null both. But to my surprise, that wasn't marked as dead code.

I tried this code both in Eclipse, and through command line. I ran the following command to enable all warning:

Still it didn't gave any warning.

On contrary, if I change the else if block to:

The statement inside was marked as dead code, as I expected.

So why this behaviour? This only leads me to think that there might be some condition where this can actually be null. Is it?

0 投票
2 回答
1227 浏览

java - 谁能解释一下这个“死代码”示例?

关于以下片段的一些解释:
我正在处理一些蓝牙发现调用。为此,我使用了一个回调,如果 aBluetoothDevice被发现或没有,它将被调用。如果未找到设备,则参数为空:

Eclipse 告诉我 else 块是死代码。

如果我Log在 if-block 中移动呼叫,则警告消失:

我知道如果参数为空,第一个片段会抛出 NPE。这不是这个例子中的问题。

我想知道为什么会dead code warning出现。

如果这还不足以告诉我发生了什么,我可以提供完整的代码。

0 投票
1 回答
629 浏览

c# - 如何识别任何冗余代码 C#

我被赋予了这个任务:识别类中的任何冗余代码。详细解释为什么代码是多余的。

我正在使用具有数十个类的大型 c# 应用程序,任何人都可以推荐从哪里开始或如何最好地解决这个问题?

0 投票
3 回答
8576 浏览

java - if(false) vs. while(false):不可达代码 vs. 死代码

我在 Eclipse 中尝试了以下操作:

  • if (false) {}:警告“死代码”
  • while (false) {}:编译错误“无法访问的代码”

我想知道这种差异是否有真正的“原因”。我已经找到了这个...

无法访问的代码编译器错误

...但为什么不允许while (false)相同的调试目的?