我们的代码审阅者告诉我,以下代码中的flag不好,我需要以“类似于Python”的样式重构代码。我真的不明白如何避免使用此标志,这是代码示例:
flag = false
for (i in range(2,4)):
zoom()
if (check_condition()):
flag = true
break
if (flag):
tap()
else:
raise Exception("failed")
如果可以的话,我可以看到在里面进行点击的唯一方法。在这种情况下,我将不得不在循环内添加一个return语句,从代码样式的角度来看,这不是最好的主意,不是吗?
所以也许有人可以建议一种更好的方式来组织此代码?
答案 0 :(得分:4)
您可以将else:
语句与for
语句一起使用。仅在循环正常结束时执行,而不用break
for i in range(2, 4):
zoom()
if check_condition():
break
else:
raise Exception("failed")
tap()
答案 1 :(得分:-1)
如果您只是调用tab()
方法而不是将flag值更改为true,那么我也不认为这里需要falg。它将起作用。
for (i in range(2,4)):
zoom()
if (check_condition()):
tab()
break
else:
raise Exception("failed")