きっと昔読んだ入門書にこう書いてあったんだろう。
グローバル変数はスパゲティコードの要因になりますので、なるべく使わないほうがいいでしょう。
でも、他にスパゲティコードの要因があっても気付かない。
「内部で呼び出している手続きに必要だから」というだけで、使いもしない引数を要求する手続きには無頓着。
どうしてグローバル変数というものが言語に盛り込まれているのかにも無頓着。
引数にフラグが混ざっていることにも無頓着。*1
グローバル変数以上にグローバルなデータにも無頓着。(そういうデータにフラグが混ざっていても無頓着。自分でコードを読み返しても気付かない)
そしてグローバル変数を使わなければ可読性が上がると思っている。*2
シングルトンパターンはグローバル変数を正当化したデザインパターンとして有名だけど、これを否定している解説書はあるだろうか。
もうとっくにグローバル変数は認められているんだよ。
d:id:pmint:20070222:p1に関連記事。