第67回 正常系と異常系
正常系と異常系という言葉がある。
第66回 Perlでじゃんけんゲーム - bingo_nakanishiの他言語出身者のためのPerl入門
この前回のじゃんけんゲームを例に挙げて説明すると、
入力に関して言えば、
「グー、チョキ、パー」のいずれかが、入力された場合が正常系である。
対して、
「ぐー、ちょき、ぱー、G,H,P,1,2,3」などが入力された場合が異常系である。
前回のじゃんけんゲームのソース1から、
################################### # 入力チェック ################################### if( 1 != int @ARGV ){ die '引数の数が正しくありません'; } if( !( ( $ARGV[0] eq 'グー' ) || ( $ARGV[0] eq 'チョキ') || ( $ARGV[0] eq 'パー') ) ){ die q{引数は、'グー', 'チョキ', 'パー'でなければいけません}; }
の部分を抜いて、実行してみるとどうなるであろうか?
実行
$ perl janken.pl ぐー 人 : ぐー COM: グー あなたの です
このように勝敗は表示されない。
これが異常系の例である。
じゃんけんゲームは勝敗を必ず返すように作りたかったので、これは異常な事態であるのだ。
こういったことをハンドリング(処理する)しているのが、
入力チェックの部分というわけである。
このような異常な事態をも考えプログラムは作る必要がある。
エラーとの関係性
なお、今回は、「異常系」という言葉を用いたが、
今回の異常系は、
第65回 「システムエラー」と「業務エラー」と「警告」 - bingo_nakanishiの他言語出身者のためのPerl入門
でいう「業務エラー」にあたるものだ。