xcorp::When it rains, it pours.

"The nice thing about rain," said Eeyore, "is that it always stops. Eventually."

coding style

「あたしゃジマンじゃないが超ド変態インデント絶賛採用中!!」と思っていたのだが…

GNUスタンダード

int
do_something ()
{
  if ((condition1 && condition2) || (condition3 && condition4)
      || !(condition5 && condition6))
    {
      do_something1 ();
      do_something2 ();
    }
  else
    do_something3 ();
}

・インデントは2文字。
・`{'および`}'はインデントして、一行使う。
・変数、関数(メソッド)名は小文字で、単語間を`_'で分ける。
・関数(メソッド)、ifやfor文にかぎらず空白を空ける。

ということらしい。う〜む,アタシのインデントに近いではないか。

int do_something( void )
    {
        /* local variable(s) */
        int         hoge;
        char        fuga;

        hoge    = 0;
        fuga    = '\0';

        if ( ( condition1 && condition2 ) || ( condition3 && condition4 ) ||
             !( condition5 && condition6 ) )
            {
                do_something1();
                do_something2();
            }
        else
            {
                do_something3();
            }   /* end-if() */

        return  0;

    }   /* end of do_something() */
  • 1タブスペース4個分(いわゆる4タブ)。
  • インデントは1タブ。
  • `{'および`}'はインデントして、1行使う。
  • 変数や関数(メソッド)名は小文字で,単語間を`_'で分ける。
  • 関数呼び出し以外はifやfor文に限らずスペースを1つ分空ける。
  • if, for, while等でブロック内が単文の場合でも`{'および`}'を使用する。
  • 関数の引数がない場合はvoidと書く。
  • ポインタ演算は原則として使用せず,添字演算子によるsyntax sugarを使用する。
  • 条件式は明示的に比較する。×if ( !ptr ) ○if ( ptr == NULL )
  • return文に()は使わない。
  • インクリメント演算子(++),デクリメント演算子(--)は使わない。hoge +=1 や hoge -= 1 を使う。
  • for文は原則的に使わない。whileを使う。
  • ローカル変数の変数名は21カラム目。#defineのdefine値は37カラム目。
  • 代入文が複数行続くときはタブで = の位置をそろえる。
  • switch文には必ずdefaultを書く。
  • ブロックの前後には必ず空行を置く。
  • 原則的にifなどの条件式で関数をコールしない。

などなど。こんなもんかなあ…。
アタシが言うのもナンだけど,トコトコ先生のインデントもなかなかでござるよヽ(´ー`)ノ