スコープ (プログラミング)
プログラミングにおけるスコープ(英: scope, 可視範囲)とは、ある変数や関数などの名前(識別子)を参照できる範囲のこと。通常、変数や関数が定義されたスコープの外側からは、それらの名前を用いるだけでは参照できない。このときこれらの変数や関数は「スコープ外」である、あるいは「見えない」といわれる。
プログラミングでは、ソースコードの可読性を向上し、また予期しない誤動作を避けるためにも、それぞれの処理段階で必要のない要素の名前はできるだけ参照されないようにすることが望ましい。特に、複数の関数にまたがったスコープを持つことのできるグローバル変数(大域変数)は便利な場合もあるが、どこで参照・変更されているかを常に気にしていなければならず、不用意な変更は危険でもある。たとえば、CERT C コーディングスタンダードには、「変数と関数の有効範囲を最小限にする」(DCL19-C)というレコメンデーションがある。
通例、入れ子になったスコープ階層ごとに同じ名前の識別子が出現したとき、より内側のスコープに属する識別子のほうが優先的に名前解決に使用される。
大域スコープと似ているが、プログラムを記述したファイルの内側でのみ参照できるスコープ。プログラムが複数のファイルから構成される場合は他のファイルから参照することはできない。