标签: dead-code

我怎么知道代码中的哪些部分从未使用过?

我有遗留的C++代码,我应该从中删除未使用的代码.问题是代码库很大.

如何找出从未调用/从未使用过的代码?

c++ optimization dead-code

310
推荐指数
8
解决办法
5万
查看次数

如何在java项目中查找未使用/死代码

您使用什么工具在大型Java项目中查找未使用/死代码?我们的产品已经开发了几年,手动检测不再使用的代码变得非常困难.但是,我们尝试尽可能多地删除未使用的代码.

还赞赏对一般战略/技术(特定工具除外)的建议.

编辑:请注意,我们已经使用了代码覆盖率工具(Clover,IntelliJ),但这些都没有多大帮助.死代码仍然有单元测试,并显示为覆盖.我想一个理想的工具可以识别出具有很少其他代码的代码簇,从而允许docues手动检查.

java refactoring dead-code

300
推荐指数
11
解决办法
15万
查看次数

如何在Rust中禁用未使用的代码警告?

struct SemanticDirection;

fn main() {}
Run Code Online (Sandbox Code Playgroud)
warning: struct is never used: `SemanticDirection`
 --> src/main.rs:1:1
  |
1 | struct SemanticDirection;
  | ^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: #[warn(dead_code)] on by default
Run Code Online (Sandbox Code Playgroud)

我会将这些警告重新发送给任何严肃的事情,但我只是在修补这种语言而这正在驱使我蝙蝠.

我尝试添加#[allow(dead_code)]到我的代码,但这不起作用.

warnings dead-code compiler-warnings rust

179
推荐指数
8
解决办法
6万
查看次数

如何找到Intellij Idea中所有未使用的类?

有一个检查"未使用的声明",它可以找到Intellij Idea中所有未使用的代码.(看到这个问题)但我想找到所有未使用的类,而不是方法,变量等.只有类.(很难找到3000个结果列表中的类).我怎么能这样做?

java intellij-idea dead-code

112
推荐指数
4
解决办法
4万
查看次数

假定具有未定义行为的分支是否无法访问并优化为死代码?

请考虑以下声明:

*((char*)NULL) = 0; //undefined behavior
Run Code Online (Sandbox Code Playgroud)

它明确地调用未定义的行为.在给定的程序中是否存在这样的语句意味着整个程序是未定义的,或者一旦控制流命中这个语句,该行为只会变得不确定?

如果用户从未输入数字,3是否可以明确定义以下程序?

while (true) {
 int num = ReadNumberFromConsole();
 if (num == 3)
  *((char*)NULL) = 0; //undefined behavior
}
Run Code Online (Sandbox Code Playgroud)

或者,无论用户输入什么,它都是完全未定义的行为?

此外,编译器是否可以假定在运行时永远不会执行未定义的行为?这样可以及时推理:

int num = ReadNumberFromConsole();

if (num == 3) {
 PrintToConsole(num);
 *((char*)NULL) = 0; //undefined behavior
}
Run Code Online (Sandbox Code Playgroud)

在这里,编译器可以推断,以防num == 3我们总是调用未定义的行为.因此,这种情况必须是不可能的,并且不需要打印该号码.整个if声明可以优化.根据标准,是否允许这种向后推理?

c++ dead-code undefined-behavior language-lawyer unreachable-code

88
推荐指数
3
解决办法
3338
查看次数

传统C/C++项目中的死代码检测

您如何在C/C++代码中进行死代码检测?我有一个非常大的代码库可供使用,至少10-15%是死代码.有没有基于Unix的工具来识别这个区域?有些代码仍然使用了很多预处理器,可以自动化处理吗?

c++ automation static-analysis legacy-code dead-code

68
推荐指数
5
解决办法
3万
查看次数

找到死的JavaScript代码?

我们正在重构遗留的Web应用程序,因此"杀死"了相当多的JavaScript代码,但我们害怕因为不确定而删除我们认为是死代码的内容.是否有任何工具/技术可以在JavaScript中正确识别死代码?

javascript refactoring dead-code

59
推荐指数
7
解决办法
3万
查看次数

Eclipse中Java中无法访问代码错误与死代码警告?

有谁知道原因:

public void foo()
{
    System.out.println("Hello");
    return;
    System.out.println("World!");
}
Run Code Online (Sandbox Code Playgroud)

将被报告为Eclipse下的"无法访问的错误",但是

public void foo()
{
    System.out.println("Hello");
    if(true) return;
    System.out.println("World!");
}
Run Code Online (Sandbox Code Playgroud)

只触发"死代码"警告?

我能想到的唯一解释是Java编译器只标记第一个,而Eclipse中的一些额外分析计算出第二个.但是,如果是这种情况,为什么Java编译器不能在编译时弄清楚这种情况呢?

Java编译器不会在编译时弄清楚if(true)没有效果,从而产生基本相同的字节码吗?在什么时候应用可达代码分析?

我想一个更通用的方法来思考这个问题是:"什么时候应用可达代码分析"?在将第二个Java代码片段转换为最终字节码时,我确信在某些时候删除了"if(true)"运行时等效项,并且两个程序的表示变得相同.然后,Java编译器不会再次应用其可访问的代码分析吗?

java eclipse dead-code unreachable-code

53
推荐指数
3
解决办法
3万
查看次数

死代码识别(C++)

我有一个在Visual Studio 2008下编译的大型遗留C++项目.我知道有相当数量的"死"代码无法在任何地方访问 - 未调用的方法,未使用的整个类.

我正在寻找一种可以通过静态分析识别出来的工具.

这个问题:传统C/C++项目中的死代码检测建议使用代码覆盖工具.这不是一个选项,因为测试覆盖率不够高.

它还提到了一个无法访问的代码.gcc的选项.我想要一些类似于Visual Studio的东西.我们已经使用链接器的/ OPT:REF选项来删除冗余代码,但是这并没有报告死代码的有用级别(当与/ VERBOSE一起使用时,有超过100,000行,包括来自库的很多行).

有没有更好的选项适合Visual Studio项目?

c++ static-analysis dead-code

52
推荐指数
2
解决办法
1万
查看次数

如何在Python代码中找到未使用的函数?

所以你在一个相当沉重的项目中有一些遗留代码.如何查找和删除死函数?

我已经看到了这两个引用:查找未使用的代码工具来查找php项目中未使用的函数,但它们似乎分别特定于C#和PHP.

是否有一个Python工具可以帮助您找到源代码中其他地方未引用的函数(尽管有反射/等)?

python refactoring dead-code

51
推荐指数
3
解决办法
1万
查看次数