[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:15981] Re: Question about C



山下だいすけです。

From: Atsuhito Kohda <kohda@xxxxxxxxxxxxxxxxxxxx>
Subject: [debian-users:15963] Question about C
Date: Thu, 10 Jun 1999 17:31:31 +0900
Message-ID: <19990610173347G.kohda@xxxxxxxxxxxxxxxxxxxx>

既に、多くのリプライで、お腹一杯かも知れませんが...

> case 'J' : 長〜い if 文 break;

> 一応目的は達っしてるのですが見た目を良くしたい
> ので。

こう云うときに、見た目をすっきりさせたければ、
マクロを使ってはいかがですか?
或は inline 関数でも良いでしょう。

/* 引数無しマクロというのもありでしょうけど... */
#define ARE_THESE_XXX_CORRECT(a, b, c) \
    very_long_expression ...

...

    case 'J':
      if (ARE_THESE_XXX_CORRECT(foo, bar, baz))
          do_something();
      break;


たとえ、これを評価する回数が 1 回だけだとしても、
この時に適切な名前を付けておく事で、後でみたときに
何の為にこんな複雑な判断をしているのかが、即解るので、
お勧めです。

では。

                                            Daisuke Yamashita
                         http://village.infoweb.ne.jp/%7Edais/