La portée statique de la programmation déclare les variables lexicalement, en fonction de la structure logique et de l'organisation du programme. En programmation, scope déclare une plage dans laquelle une variable est visible et utilisable. La portée est utile car elle différencie les sections d'un programme et les variables qu'elles contiennent.
Une autre remarque sur la portée est que sa description est quelque peu trompeuse: elle se réfère également à la façon dont une variable fonctionne dans un programme, pas seulement à la zone où elle existe. Portée n'est pas le terme le plus précis car il n'indique que la zone couverte et non l'action effectuée. Les développeurs et les chercheurs acceptent cela et comprennent que la portée signifie à la fois la définition et l'utilisation d'une variable.
Scoping statique vs dynamique
La portée statique est courante dans les langages de programmation; la portée dynamique, l'autre forme de cadrage, l'est beaucoup moins. Dans la portée statique, si une zone du programme a une certaine portée, une variable dans une fonction renverra sa valeur assignée pour cette portée chaque fois que la fonction s'exécute. Par exemple, si une variable x = 5 dans une fonction donnée, et une définition conditionnelle ultérieure pour x est également fournie, x = 5 partout où la portée du programme le définit comme tel. C'est la norme pour la plupart des langages de programmation.
Ceci est différent de la portée dynamique, qui appelle la valeur la plus récemment utilisée d'une variable basée sur la pile d'appels du programme. Dans l'exemple ci-dessus, si x = 5 mais que x a ensuite été défini avec une valeur de 10, un programme avec une portée dynamique appellerait x = 10 si cette valeur avait été la plus récemment utilisée. La portée dynamique est moins logique et structurée que la portée statique.