変数のスコープは狭いほど良い

変数でもメソッド名でもクラス名でも言えることだが、単純に「スコープは狭いほどよい」という方針でプログラムすると、逆に保守性も可読性も悪いプログラムができあがることがけっこうある。

メソッド名やクラス名に関して、「スコープは狭いほどよい」と言っている人がいるのだろうか?スコープという観点だけで一括りにする時点で既におかしい。「変数のスコープは狭いほど良い」というのは、「他の条件が同じなら」という言葉が省略されていると考えるべきだと思う。もし、他の条件に関係なく、「変数のスコープは狭いほど良い」と思っているならば、「プログラミングにおいて最も重要なのは、変数のスコープの狭さである」というような言い方をするだろう。