我尝试实现一般原则,即“
错误条件”的测试应该尽可能宽.因此我会使用< 0而不是== -1. 这是我在CS学位期间在正式
方法课程中教授的原则. 一个简单的如果它没关系太多,但是在循环中,检测任何“超出范围”条件以确保循环终止是重要的,并且不要假设将完全命中循环终止值. 以此为例:
i = 0;
while (i < 10) {
++i;
// something else increments i
}
V.S.
i = 0;
while (i != 10) {
++i;
// something else increments i
}
后一种情况可能会失败 – 前一种情况不会.