ぱっと見て「ヘタだなぁ」と思うコード その6
at TECH
198:デフォルトの名無しさん
07/10/27 03:50:48
>>193
C FAQより
----------
17.3:
ほら、このわざを見て。
if(!strcmp(s1, s2))
これはよい書き方?
とくによい書き方ということはない。ただし人気のある書き方ではある。このテストは、二つの文字列が同じときに成功する。しかしこの 形は等しくないことをテストしているようにみえる。
より優れた選択肢としては以下のようなマクロを使うことがある。
#define Streq(s1, s2) (strcmp((s1), (s2)) == 0)
コーディングスタイルに関する考え方は、宗教に関する考え方と同じ で、議論に終りがない。よい書き方は価値ある目標であるし、たいて いは見ればよいか悪いかわかるが、文章にすることはできない。質問 17.10も参照のこと。
----------
どこにもif (!strcmp(str1, str2)) {} よりif (0==strcmp(str1, str2)) {} の方がいいとは書いてありませんが?
より良い書き方としてあげている例も、
#define Streq(s1, s2) (strcmp((s1), (s2)) == 0)
と、定数は右側に来ていますよ。
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5493日前に更新/89 KB
担当:undef