いいじまです。

> > return ((n<1||n>12)?name[0]:name[n]);
> >
> > 私なら通常はif文で書きますけど(例外:式しか書けない場所)、
> > 皆さんはこういうコードは書きます?
> 
> 書きません。なぜなら
>   - return に () は付けない。
>   - 12 というマジックナンバーを埋め込んだりしない。

あはは。書き忘れていましたけど、name[] は
        char *name[13] = {"", "Jan", "Feb", "Mar", "Apr", "May", "Jun",
                "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
のように初期化されています。だから12でいいんです。

>   - 例外は後ろに持ってくのが趣味なので
>       (n < 1 || n > 12) ではなく (n >= 1 && n <= 12) と書く。
>   - てゆーか <= は嫌いなので (n >= 1 && n < 13) と書く。

私が三項演算の形で書くとしたら (1<=n && n<=12) ですね。
数学の 1≦n≦12 という表記と同じ順序になるように並べます。

>   - 演算子の前後は空白いれる。

私なら上記のように、意味的に最小単位のまとまりになっている(=演算の優先
順位が高い)部分は空白なしで詰めて、それ以外は適宜空白なり改行なり、です。
ip = a.x*b.x + a.y*b.y + a.z*b.z; とかね。

#演算子オーバーロードで ip = a*b; と書いてしまうのもひとつの方法。

>   r1 = p1ok ? PPM_GETR(pixels[y1][x1]) : 0;
>   g1 = p1ok ? PPM_GETG(pixels[y1][x1]) : 0;
>   b1 = p1ok ? PPM_GETB(pixels[y1][x1]) : 0;

これは私なら、行数が長くなっても
        if (p1ok)
        {
                r1 = PPM_GETR(pixels[y1][x1]);
                g1 = PPM_GETG(pixels[y1][x1]);
                b1 = PPM_GETB(pixels[y1][x1]);
        }
        else
                r1 = g1 = b1 = 0;

ですね。ただ、1と言うことは2も3もあるわけで、そういう場合は

#define SET(r,g,b,x,y) do { \
        (r) = PPM_GETR(pixels[y][x]); \
        (g) = PPM_GETG(pixels[y][x]); \
        (b) = PPM_GETB(pixels[y][x]); \
        } while (0)

とか、もう少しエレガントに

inline void SET(byte &r, byte &g, byte &b, int x, int y)
{
        r = PPM_GETR(pixels[y][x]);
        g = PPM_GETG(pixels[y][x]);
        b = PPM_GETB(pixels[y][x]);
}

とかしてから

if (p1ok) SET(r1,g1,b1,x1,y1); else r1=g1=b1=0;
if (p2ok) SET(r2,g2,b2,x2,y2); else r2=g2=b2=0;
if (p3ok) SET(r3,g3,b3,x3,y3); else r3=g3=b3=0;

ですね。

> printf の引数とか。

これはよく使います。

> 逆に f(g()) みたいなのはネストせず x = g(); f(x) と書きます。
> これはデバッガを使ったとき、操作が楽だからです。

ソースレベルデバッガ使ったことない…
#一度だけ、他人の書いた長いコードがぬるぽで落ちるので gdb に食わせたら
#一発解決、っていうケースがありましたけど。

========================================================================
飯嶋 浩光 / でるもんた・いいじま   http://www.ht.sakura.ne.jp/~delmonta/
IIJIMA Hiromitsu, aka Delmonta           mailto:delmonta@ht.sakura.ne.jp