Questions tagged «dead-code»


21
如何在Java项目中查找未使用/无效的代码[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 6个月前关闭。 改善这个问题 您使用什么工具在大型Java项目中查找未使用/无效的代码?我们的产品已经开发了几年,并且很难手动检测不再使用的代码。但是,我们确实尝试删除尽可能多的未使用的代码。 对于一般策略/技术(除特定工具之外)的建议也将受到赞赏。 编辑:请注意,我们已经使用了代码覆盖率工具(Clover,IntelliJ),但是这些帮助不大。无效代码仍具有单元测试,并显示为已覆盖。我猜一个理想的工具可以识别出几乎没有其他代码依赖的代码集群,从而可以对文档进行手动检查。

4
如何在Rust中禁用未使用的代码警告?
struct SemanticDirection; fn main() {} warning: struct is never used: `SemanticDirection` --> src/main.rs:1:1 | 1 | struct SemanticDirection; | ^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: #[warn(dead_code)] on by default 在发生任何严重的问题时,我都会再次打开这些警告,但是我只是在修补这种语言,这使我感到很不快。 我尝试将#[allow(dead_code)]代码添加到我的代码,但这没有用。


8
可以将具有未定义行为的分支视为不可达并优化为死代码吗?
考虑以下语句: *((char*)NULL) = 0; //undefined behavior 它显然会调用未定义的行为。给定程序中存在这样的语句是否意味着整个程序是未定义的,或者行为仅在控制流命中该语句后才变为未定义? 如果用户从不输入数字,以下程序是否定义明确3? while (true) { int num = ReadNumberFromConsole(); if (num == 3) *((char*)NULL) = 0; //undefined behavior } 还是无论用户输入什么,都是完全不确定的行为? 另外,编译器可以假定未定义的行为永远不会在运行时执行吗?这将允许往后倒推: int num = ReadNumberFromConsole(); if (num == 3) { PrintToConsole(num); *((char*)NULL) = 0; //undefined behavior } 在这里,编译器可能会推断出万一num == 3我们总是调用未定义的行为。因此,这种情况必须是不可能的,并且不需要打印号码。整个if语句可以优化。根据标准是否允许这种向后推理?

8
旧版C / C ++项目中的死代码检测[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 4年前关闭。 改善这个问题 您将如何进行C / C ++代码中的无效代码检测?我有一个相当大的代码库可以使用,并且至少有10-15%是无效代码。是否有任何基于Unix的工具来识别此区域?有些代码仍然使用大量预处理器,自动化过程可以处理吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.