23

私はカーネルプログラミングに慣れていないので、どのコーディングスタイルがより受け入れられるかを知りたいと思います。たとえば、エラー処理の場合、次のうちどれが優れていますか?

これです:

/* some stuff */
if(error) {
    /* error handling */
    return -(errorcode);
}
/* normal actions */

またはこれ:

/* some stuff */
if(!error) {
    /* normal actions */
} else {
    /* error handling */
    return -(errorcode);
}

カーネルコーディング標準に関するドキュメントはどこにありますか?

4

1 に答える 1

31

Linuxカーネルにはコーディングスタイルガイドがあります。

https://www.kernel.org/doc/Documentation/process/coding-style.rst

より良いフォーマットバージョン

あなたの例に関して、私は個人的に最初のスタイルを好みます。2番目のスタイルでは、このLinuxカーネルスタイルルールにすぐに違反します(カーネルスタイルには8文字のインデントがあります)。

3レベルを超えるインデントが必要な場合は、とにかく失敗しているので、プログラムを修正する必要があります。

(水平方向ではなく)上から下にコードを書くことは、ダフと呼ばれることもあります。私はあなたにこの主題に関するこの優れた読書を提案することができます:

コードを上から下に読む

于 2012-10-07T19:50:05.453 に答える