藤原です。
This message is reply to Henry of OB. - san
(Subject was : [H8-ML(4734)] Re: [H8-ML(4733)] Re: if文の書き方)
Message-ID: <000501c43647$0c34eeb0$4001a8c0@PCB>
in Mon, 10 May 2004 13:27:04 +0900 ...
> 脱線つでにもうひとつ!
>
> 頭が悪く、はっきりしてないと間違いやすい
> 私の場合、
>
> if(エラー条件1)
> { エラー処理1
> }
> else
> { if(エラー条件2)
> { エラー処理2
> }
> else
> { 正常処理
> }
> }
>
> と、依存関係を明示的に書きます。
これは、文法上の形に従った書き方なわけですよね。
確かに文法的に言えば、
if (n == 1)
{
error(1);
}
else if (n == 2)
{
error(2);
}
else if (n == 3)
{
error(3);
}
else if (n == 4)
{
error(4);
}
else if (n == 5)
{
error(5);
}
else
normal();
という書き方は、else のあとが1文であれば、{} は省略できる、とい
うのとif 文は全体で1文として扱われるというのとを利用した、少々虚を
ついた書き方に見えることでしょう。
しかし、これを、
if (n == 1)
{
error(1);
}
else
{
if (n == 2)
{
error(2);
}
else
{
if (n == 3)
{
error(3);
}
else
{
if (n == 4)
{
error(4);
}
else
{
if (n == 5)
{
error(5);
}
else
{
normal\();
}
}
}
}
}
と比べたときに、わかりやすいのはどちらかということになると思います。
また、プログラマの思考が、もしも、
「エラー条件1でもなくエラー条件2でもなくエラー条件3が発生したとき」
でなく、
「(他の条件はどうあれ)エラー条件3が発生したとき」
に、エラー処理3をしたいのであれば、その発送を直接反映しているのはど
ちらなのかということです。
これにかんしては、いわゆる、K&Rの、「The Programing Language C」
でも、IF - else とは別に、わざわざ、3-3 Else - if という項目をさいて
説明しています。
もっとも、字下げの問題なのでやっていることは同じですが。
--
_/ -- Last 2292 hours until ATHENS 2004 Olympic Games -----------------
_/ FUJIHARA Keiichi
_/ E-Mail : keiichi@xxxxxxxxxxxxx <or> nagi@xxxxxxxxxxxxxxx
_/ URL : http://www.keiichi.fujihara.name/
----------------------------------------------+----- Luna Phase 20.87 --
PGP FingerPrint = 7CC3 4F95 8CC7 87D3 7178 C348 CD65 7F08 D68F 69F6