私の上司は、下手なプログラマーがループ内で使用しているbreak
とさりげなく言及していcontinue
ます。
それらが理にかなっているので、私は常にそれらを使用します。インスピレーションをお見せしましょう:
function verify(object) {
if (object->value < 0) return false;
if (object->value > object->max_value) return false;
if (object->name == "") return false;
...
}
ここでのポイントは、最初に関数が条件が正しいことを確認してから、実際の機能を実行することです。IMOループにも同じことが適用されます。
while (primary_condition) {
if (loop_count > 1000) break;
if (time_exect > 3600) break;
if (this->data == "undefined") continue;
if (this->skip == true) continue;
...
}
これにより、読みやすく、デバッグしやすくなります。しかし、私にも欠点はありません。
goto
)に有用であるいくつかの例。