此源代码在Dart编辑器中生成警告。 Dead code
1)
if(false) {
}
但是这个也计算为false
的常量表达式不会产生警告。
2)
if("hello" is int) {
}
3)
if(false || false) {
}
4)
if(false == true) {
}
5)
if(0 > 0) {
}
在这些情况下,编辑如何帮助我?
你可能会认为我的所有例子都不是来自现实生活。
但我也可以认为这段代码不是来自现实生活。
if(false) {
}
那么,仅#1案例的支持以及案例#2,#3,#4,#5以及所有其他案例的支持缺乏如何帮助我在Dart编辑器中找到死代码?
P.S。
当然,这是Dart编辑器的一个很棒的功能,我不想淡化她的用处,但我仍然想知道:“这是否有可能使它变得更有用,更有用了?”。
答案 0 :(得分:3)
通常,不可能证明代码“死”,因为它需要在编译时运行代码,并且该代码可能有大量运行时间或永远不会终止。
所以他们必须在某处绘制一条线,看起来他们已经决定使用简单的true / false值,但是在编译时不会评估任何更复杂的值。你可能会问他们在哪里划线,并且认为简单的表达式可以被有效地评估,但是因为通常不可能证明代码已经死了,所以他们必须在某个地方做出决定......