2012-05-26 37 views
7

我们什么时候使用循环半?另外,如果有人简要说明如何编写代码?循环半控制

+13

你甚至在“循环半”的意思是什么?我从来没有听说过这个词。 –

+2

我搜索了“循环半”(我也不知道),并提出了这个问题:http://www.cs.duke.edu/~ola/patterns/plopd/loops.html#loop-一半,这解释了它是什么以及我们何时使用它。 Google是你最好的朋友。 –

+4

似乎有人在循环中间放了一个“break”,并将其命名为“循环半”。 – Alexander

回答

9

您使用循环半来避免从循环外部向内部重复代码。例如:

read a; 
while a != b do 
    stuff; 
    read a; 
end 

成为

while true do 
    read a 
    if a == b then break 
    stuff; 
end 

现在我只需要在一个地方读取。

+0

'while check(a,b):stuff' – Alexander

+0

@Alexander这就是我会如何正常写代码。它更好地创建一个子,以避免重复代码。但我经常碰到循环和半模式。 – stark

+0

@Alexander不能给一个(在Java中)赋予一个新的值,所以这可能不是一个真正的例子,其中的东西可能会想要访问一个帮助。 – Voo

2

顺便说一句,我想添加该变量的范围(假设a是在这种习惯用法的本地变量)相比于另一种情况,其中a仍然在范围即使在经过一段时间被最小化循环终止。尽可能地减少局部变量的范围是可行的(Josh Bloch,Effective Java,第45项)。