本当にグローバル変数は使ったことがない。
(引数が8個以上の関数も定義したことがない)

どうしても必要な場合のみSingletonパターンか
関数ローカルなstatic変数を返すようにしてる。