カテゴリー「プログラム」の1件の記事

2011/03/09

判断ミスに気づきやすいコード例の模索

判断ミスに気づきやすいコード例の模索をしてみました。

簡単にいうと、処理すべき箇所の指定だけでなく、処理しない箇所の指定を追加すること、で、処理すべき/しない以外の想定外で例外を出すことで、設計時に気づかせようという試み。一般的かもしれないが、コードは冗長なのでスタイルとして受け入れられるか、、、どうか。

enum STATE { A, B, C, D, E };
private static void CheckState(STATE status)
{
   // Bug Code:Lost STATE.C
   if (status == STATE.A || status == STATE.B)
            {
                // Do Action
            }

   // Correct Code
   if (status == STATE.A || status == STATE.B || status == STATE.C)
            {
                // Do Action
            }

   // Found Bug Easily
   if (status == STATE.A || status == STATE.B || status == STATE.C)
            {
                // Do Action
            }
   else if (status == STATE.D || status == STATE.E)
            {
                // Do Nothing
            }
   else
            {
      throw new NotImplementedException(string.Format("CheckState(status={0})", status));           
            }
}

| | コメント (0)