多くのグローバル変数を使用する古いコードを使用しています。私はグローバル変数を使用することの欠点の多くを十分に認識しているので、私の質問は、グローバル変数を使用すべきかどうかということではありません。
コードの大部分を見直した後、2 つのパターンに気付きました。どちらが悪いのか、その理由を判断しようとしています。
2 つのパターンの類似点は、グローバル変数が「extern」を使用して公開されることです。
2 つのパターンの主な違いは次のとおりです。
一部のグローバルはヘッダー ファイルで extern'ed/exposed され、#include を使用して多くのソース ファイルにインクルードされます。
他のグローバルは、ソース ファイル自体で直接 extern'ed/exposed されます。
これら2つのうち、どちらが他方よりも悪いと思いますか? なぜ?
それらを同じように悪いと思いますか?なぜ?