1

私が最初にプログラミングを始めたとき、私は常に次のようにファイルの先頭でグローバル変数を定義するという慣習に従いました。

static int a[10];
static int b[10];

void firstFn(void)
{
    a[0] = 1;
}

void secondFn(void)
{
    b[4] = 2;
}

void thirdFn(void)
{
    b[5] = 2;
}

しかし最近、私はグローバル変数の定義を、ファイルのさらに下で定義されたその変数を操作するいくつかの関数とグループ化したいということに取り組んでいました。

static int a[10];

void firstFn(void)
{
    a[0] = 1;
}

static int b[10];

void secondFn(void)
{
    b[4] = 2;
}

void thirdFn(void)
{
    b[5] = 2;
}

別のプログラマーがこのコードをレビューしていて、これは彼のペットのおしっこの1つだと言いました。最高の慣習に固執する正当な理由はありますか?

4

1 に答える 1

4

静的変数は、コンパイル単位に対してローカルです。プログラムで最初に使用する前に宣言されている限り、それらの配置にまったく違いはありません。

静的宣言をファイルの先頭に保持する純粋に技術的な理由はありませんが、これはかなり一般的な規則です。私はそれがいくつかの会社のコーディング標準で明示的に書かれているのを見てきました。すべてのプログラマーが同じ規則に従うと、コードはより均一に見え、均一性はコードの保守性に向けた大きな一歩です。他の誰かがあなたのファイルを開いて、コードのフォーマットが見覚えがある場合、それは素晴らしいプラスです。したがって、チームの他の同僚がこの規則に従う場合は、それに従う必要があります。

于 2012-06-28T21:09:11.603 に答える