确保循环结束的机制
当我在大学时,我们有来自David Parnas的客座讲座。在这篇文章中,他提到了一个用于保证循环(while循环,for循环等)在某个时刻安全退出的机制。他嘲笑没有人知道这是什么......可悲的是,多年后我也不知道。有谁知道这个机制被称为什么?确保循环结束的机制
这个问题似乎不合逻辑。
没有一个gaurantee可以确保循环退出,而不是创建一个你知道会被命中的后置条件,即增加一个计数器,不要触摸循环内部的计数器并使其达到最大值。
您也可以创建一个计时器或其他结构来检查循环是否花费太长时间。
帕纳斯在这里暗示的是什么?任何循环的普遍退出不会干扰逻辑或简单地设计适当的后置条件?
“创建一个您知道会被击中的发布条件”,是“确保循环退出的一名参赛者”。这在所有情况下都非常容易设计。事实上,你必须**设计终止条件。 – 2009-07-23 23:43:10
有很多方法,以保证循环退出安全:
- 不要写是无限
- ,其他的被留下作为一个锻炼; Tibial
严重的是,最好的方法是保持简单,并有一个稳定和完全测试的终止条件(即检查是否应该运行另一次迭代或退出的代码)。
你所描述的很可能会被翻译成halting problem,这是一个众所周知的问题,没有解决方案。
此外,谷歌搜索显示David Parnas在利默里克大学工作,你可以打电话给他并要求与他交谈。我敢肯定,他会很高兴你还在试图:)
+1:这是一个确保终止的设计原则。 – 2009-07-24 01:39:31
我相信就是这样。谢谢 – 2009-07-24 16:40:26