BSD/オールマンのスタイル
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/16 23:47 UTC 版)
「字下げスタイル」の記事における「BSD/オールマンのスタイル」の解説
BSD/オールマン・スタイル (Allman style) もよく使われる。これはBSDで数多くのユーティリティを開発したエリック・オールマンの名が由来である(上述のBSD KNFスタイルと混同されないようにされたし)。 このスタイルでは、制御文の後の中括弧を次の行に置き、制御文と同じ字下げ位置とする。ブロック内の文は次のレベルに字下げされる。 while (x == y){ something(); somethingelse();}finalthing(); これはPascalやTransact-SQLの標準的な字下げに似ていて、中括弧が "begin" や "end" といったキーワードと同じように扱われている。 (* オールマン式の字下げをPascalで記述した場合の例 *)procedure dosomething(x, y: Integer);begin while x = y do begin something(); somethingelse(); end;end; このスタイルの利点は、ブロックの前後が中括弧しかないほとんど空白の行で囲まれているため、非常にわかりやすい点である。また、対応する中括弧が同じ字下げ位置に必ず来るので、その対応も目で追いやすい。またブロックの形がコードのブロックと、対応する制御文を区別する。制御文やコードブロックをコメント化するなど、コードのリファクタリングをする際に括弧の位置によるエラーを引き起こしにくくなる。また括弧の配置は一番外側の関数定義の配置と一貫性がある。 例えば以下コードは文法的に正しい。 // while (x == y){ something(); somethingelse();} これも同様。 // for (int i=0; i < x; i++)// while (x == y)if (x == y){ something(); somethingelse();} さらに条件付きコンパイルでも使える。 int c;#ifdef HAS_GETCH while ((c = getch()) != EOF)#else while ((c = getchar()) != EOF)#endif { do_something(c); } このスタイルは、制御文とブロックを分離することで可読性を向上させることを目的としており、一度に表示できるコードの量は二の次となっている。 Microsoft Visual Studio(Microsoft Visual C++)は、このスタイルをデフォルトで使っている。
※この「BSD/オールマンのスタイル」の解説は、「字下げスタイル」の解説の一部です。
「BSD/オールマンのスタイル」を含む「字下げスタイル」の記事については、「字下げスタイル」の概要を参照ください。
- BSD/オールマンのスタイルのページへのリンク