我刚刚在一个现有项目中遇到以下代码,我正在研究:
if True:
x = 5
y = 6
return x+y
else:
return 'Something
if if中有很多条件,有些也会返回函数。 为什么有人会这样写?代码还包含一些其他错误,但只是想知道if True:语句,因为它对我没有任何意义。可能也很愚蠢地问它,但是想知道嘿嘿。
答案 0 :(得分:8)
它可能是调试或重构的残余。可能是True
而不是True
,有一个条件或变量,但它现在已被{{1}}取代。开发人员可能会将其留在那里,而不会一直重构或清理它。
如果您可以根据需要自由编辑代码,并且确定不再需要其他代码,则可以将其删除。在您的代码库中拥有永远不会运行的代码确实没有任何意义。
答案 1 :(得分:5)
True
并不一定意味着True
True = False
if not True :
print "True is false" # This prints ok
老实说,我认为没有人会像这样编码。
答案 2 :(得分:1)
对我来说没有任何意义,我的猜测是有人希望有两个不同的代码路径,他可以在使用#if 1 .. #else
- >之间切换。 #if 0 ...
用于调试或此类目的。
其他可能性是,正如@SimeonVisser建议的那样,原始开发人员正在重构或清理代码(并且没有一个模拟器允许人们轻松地从代码块中删除1步缩进)
答案 3 :(得分:0)
它可能是用于调试的标志。
答案 4 :(得分:0)
它只是用于确保永远不会执行else:
块
我已经使用if True:
作为一些块来确保我的代码真正做到我想要的。用于调试或重构。
总而言之,在应用程序中使用它并没有任何意义,但是为了测试或调试它在某种程度上是可以接受的。