Statik kapsam

Programlamadaki statik kapsam, programın mantıksal yapısına ve organizasyonuna bağlı olarak değişkenleri sözcüksel olarak bildirir. Programlamada kapsam, bir değişkenin görünür ve kullanılabilir olduğu bir aralık bildirir. Kapsam, bir programın bölümlerini ve bunların içindeki değişkenleri ayırt ettiği için kullanışlıdır.

Kapsamla ilgili diğer bir not, açıklamasının biraz yanıltıcı olmasıdır: aynı zamanda bir değişkenin sadece var olduğu alanı değil, bir program içindeki işlevlerini de ifade eder. Kapsam, gerçekleştirilen eylemi değil, yalnızca kapsanan alanı gösterdiği için en doğru terim değildir. Geliştiriciler ve araştırmacılar bunu kabul eder ve kapsamı bir değişkenin hem tanımı hem de kullanımı anlamında anlar.

Statik ve dinamik kapsam

Statik kapsam belirleme, programlama dillerinde yaygındır; diğer kapsam belirleme biçimi olan dinamik kapsam çok daha azdır. Statik kapsam belirlemede, programın bir alanı belirli bir kapsama sahipse, bir işlev içindeki bir değişken, işlev her çalıştığında o kapsam için atanmış değerini döndürür. Örneğin, belirli bir işlevde bir x = 5 değişkeni ve ardından x için koşullu bir tanım sağlanmışsa, programın kapsamının onu böyle tanımladığı her yerde x = 5. Bu, çoğu programlama dili için standarttır.

Bu, programın çağrı yığınına göre bir değişkenin en son kullanılan değerini çağıran dinamik kapsamdan farklıdır. Yukarıdaki örnekte, x = 5, ancak daha sonra x 10 değeriyle tanımlandıysa, dinamik kapsama sahip bir program, bu değer en son kullanılmış olsaydı, x = 10'u çağırırdı. Dinamik kapsam, statik kapsamdan daha az mantıklı ve yapılandırılmıştır.