プログラミング入門 変数のスコープが狭いとなぜ良いのか

プログラムを書く時に、変数のスコープはできるだけ狭くすると良いと言われています。

今回はこの理由を、例え話を使って書こうと思います。

例え話

とある村で事件がおきました

人口100人程度の小さな村で殺人事件がおきました。

この村へは外部から入ることが難しい立地にあります。

そのため、犯人は村の中にいると考えられました。

とある都市で事件がおきました

人口100万人程度の都市で殺人事件がおきました。

この都市は、いろいろな場所から多くの人が訪れます。

調査は都市内外に関係なく行う必要がありました。

結論

この例だと、村で起きた事件を調査する方が楽です。

これをプログラミングに置き換えてみましょう。

ある変数があって、その変数にアクセスしたり変更したりする人が少ない方が、問題が発生した際に調査が楽です。

しかし、その変数に対して誰でもアクセスできたらどうでしょうか。

調査対象は全体に広がります。

予想もしていなかったところに原因があるかもしれません。

変数のスコープは、それを使う人だけが見えるように、できるだけ狭くすると良いでしょう。