グローバル変数は少なく!というのは通説ですが、このグローバル変数というのは
1.いわゆるファイルスコープを持つ変数
2.1に加えてヘッダファイルにextern宣言し、ファイルをまたいで使える変数
のどちらでしょうか。
私は多分1のことだと思うのですが(つまり2はさらに罪が深い)、グローバル
変数を使わないようにする方法がわからないのです。
ソースファイル分割をまとまった機能ごとに行う場合、機能として保持する必要のある
情報はどうしてもグローバルにせざるを得ないと思うのですが。
例えば、通信で受け取った受信フレームの内容や機能のステータスなどです。
まあ2については、extern関数でラップして受け渡せばいいので完全になくせる
とは思いますけど。