グローバル変数や循環参照オブジェクトをやたらと使ってはいけない。やみくもに使ってしまうと,意図しないバグに悩まされたり,サービスがダウンして夜中に呼び出されたりといった悲しい事態に陥ることになる。 なぜ使ってはいけないのか。 グローバル変数の危険性 グローバル変数とは,名前空間という変数や関数(あるいはメソッド)の名前と実態を,プログラム全体で共有している変数のことだ。特に断りが無い場合は,ソースコード中のどこからでも参照,変更が可能である(図1)。 一方で特定の範囲でしか参照・変更できない変数をローカル変数と呼ぶ。ローカル変数はその特定の領域を超えたり,あるいはどこからも参照されなくなったりすると,自動的に消える変数と考えてよい。これらの違いを前提に考えると,自分の宣言したグローバル変数が自分の意図していない個所で変更されるかもしれないという危険性がある。 例えば,業務で定数のように扱っ
![[オープンソース使ったWeb開発編]グローバル変数や循環参照オブジェクトを使ってはいけない](https://cdn-ak-scissors.b.st-hatena.com/image/square/bed39b5962a5d552c95b6d796db8f55e72d32943/height=288;version=1;width=512/https%3A%2F%2Fxtech.nikkei.com%2Fimages%2Fn%2Fxtech%2F2020%2Fogp_nikkeixtech_hexagon.jpg%3F20220512)