Date: Fri, 31 Aug 2001 23:06:45 +0900
From: Daiki Ueno <ueno@....org>
Subject: [XP-jp:02453] Re: バグ・パターン
To: extremeprogramming-jp@....jp
Message-Id: <m2ofowmih6.fsf@....org>
In-Reply-To: <20010830220958.F42B.ANC04864@....COM> (ANC04864@....COM's message of "Thu, 30 Aug 2001 22:15:20 +0900")
References: <20010830161302K.hiranabe@....jp> <200108300755.QAA15368@....jp> <20010830220958.F42B.ANC04864@....COM>
X-Mail-Count: 02453
上野と申します。
>>>>> In [extremeprogramming-jp : No.02421]
>>>>> ANC04864@....COM wrote:
> > C言語で
> >
> > if (bRet = TRUE)
> >
> > に、時間を費やした事があります。
> これは、よくやりましたし、未だにやりますね。f^^;
> 出所忘れましたが、TRUEとか定数を先にかくことを推奨している
> のを読んだことがあります。そうするとコンパイルでチェックで
> きるという内容でした。
> ちょっとやってみたんだけど、なんだかしっくりこなくて、止め
> ました。f^^;
> 例:
> if (TRUE = bRet) // コンパイル時にエラーになる
この書き方を採用したコードはよく見掛けるのですが、上記のような背景を知っ
たのは最近です。やはり個人的にはしっくり来ませんでした。
このような場合、やはりコンパイラにチェックさせるのが良いと思います。
たとえば gcc なら -Wparentheses で警告が出ます。
--
Daiki Ueno