|
if 文はある条件が成立するか成立しないかを判定して分岐を行うものです。当たり前じゃないかって?しかし意外と誤解している人が多いのです! 次の例を見て下さい。 |
|||
|
|
||||
|
この例では、else 節に辿り着いたときに nWord が 2 以外の場合もあるかもしれないという可能性を忘れてしまっています。これでは呼び出し側のバグで規定外の値が入力されたときにも 2 が入力されたのと同じように動作してしまいます。その結果、バグの発見が遅れることになるでしょう。 次のようにするのが正解です。 |
|||
|
|
||||
|
ほんの1行追加しただけですが、これで不正な入力は完全にシャットアウトできます。もし呼び出し側が不正な値を入力すれば、即座にバグが検出されます(ASSERT については別のトピックで詳しく説明しています)。この1行が書けるようになるとプログラムの品質はぐんと向上します。 なお、あとで入力のバリエーションが増えると予測される場合は次のようにします。 |
|||
|
|
||||
(「プログラミングのはなし」は1998年1月から1999年1月にかけて作成されたコンテンツです。)