可读性:使用get_first / get_next,“while”与“for”循环列出迭代

时间:2012-04-25 11:22:16

标签: for-loop while-loop readability

假设您希望使用初始get_first()迭代一个列表,后续调用get_next(),它会在列表末尾返回NULL。

您更喜欢阅读哪一个?

element = get_first(list);
while (element)
{
    process(element);
    element = get_next(list);
}

VS

for (element = get_first(list); element; element = get_next(list))
{
    process(element);
}

迭代的状态保存在列表结构中。

我个人更习惯于while版本,但当我看到有人使用for版本时,我也很容易理解发生了什么,所以现在我想知道哪个更容易为大多数人阅读

1 个答案:

答案 0 :(得分:0)

两者都非常易读。你不会把你的读者混淆。 while循环可以说是更具可读性(但是人们的里程可能会有所不同......)所以如果列表只迭代一次并且使用更简洁的for循环,我可能会使用它。