BSD/KNFスタイル
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/16 23:47 UTC 版)
「字下げスタイル」の記事における「BSD/KNFスタイル」の解説
Kernel Normal Form とも呼ばれるスタイルで、BSD系オペレーティングシステムでよく使われている。主にカーネルコードで使われているが、ユーザーランドのコードでもよく使われている。これは基本的にはベル研究所のUnixバージョン6と7で用いられた、きちんと文章化されたK&Rである。 SunOSのカーネルとユーザーランドでも同様のスタイルが使われる。KNFと同様に、AT&Tのスタイル仕様書に基づいており、ビル・ジョイNormal Formと呼ばれることがある。SunOSのガイドラインは1996年に発行されおり、ANSI Cについての言及がある。ソースコードの字下げが正しいかどうかはビル・シャノンが開発したcstyleで調べることができる。 ハードタブ(viでは ts)は一般に8文字ぶんの幅だが、ソフトタブはその補助として定義され(vi では sw)、通常4文字幅とされている。 ハードタブはブロックを示すのに使われ、ソフトタブは文が1行に収まらずに折り返さなければならないときに使われる。 さらに言えば、関数呼び出しでは括弧の前に空白を置かないが、C言語の構文 if、while、do、switch、return は括弧の前に空白を置く(return 文で値を返すとき括弧を使用)。 以下はその例である: while (x == y) { something(); somethingelse();}finalthing(); if (data != NULL && res > 0) { if (!JS_DefineProperty(cx, o, "data", STRING_TO_JSVAL( JS_NewStringCopyN(cx, data, res)), NULL, NULL, JSPROP_ENUMERATE)) { QUEUE_EXCEPTION("Internal error!"); goto err; } PQfreemem(data);} else { if (!JS_DefineProperty(cx, o, "data", OBJECT_TO_JSVAL(NULL), NULL, NULL, JSPROP_ENUMERATE)) { QUEUE_EXCEPTION("Internal error!"); goto err; }} static JSBoolpgresult_constructor(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval){ QUEUE_EXCEPTION("PGresult class not user-instanciable"); return JS_FALSE;}
※この「BSD/KNFスタイル」の解説は、「字下げスタイル」の解説の一部です。
「BSD/KNFスタイル」を含む「字下げスタイル」の記事については、「字下げスタイル」の概要を参照ください。
- BSD/KNFスタイルのページへのリンク