À retenir
- Définit la visibilité d'une donnée dans le code.
- Évite les conflits de noms (deux variables différentes avec le même nom).
- Aide à la sécurité et à la clarté du programme.
La portée désigne la zone d'un programme informatique dans laquelle une variable ou une fonction est reconnue et peut être utilisée. C'est un peu comme un badge d'accès : certaines données sont utilisables dans tout le bâtiment (le programme entier), tandis que d'autres ne fonctionnent que dans un bureau spécifique (une fonction précise).
Étymologie
Issu du verbe « porter », le terme évoque la distance maximale à laquelle un objet ou un signal peut être envoyé ou perçu. En programmation, c'est la traduction directe du mot anglais scope, qui définit l'étendue de la vision ou de l'action d'un élément de code.
Exemples d'usage
- Une variable locale créée à l'intérieur d'une fonction : elle disparaît dès que la fonction a fini de s'exécuter.
- Une variable globale déclarée au sommet d'un script : elle est accessible par toutes les autres fonctions du même fichier.
- Un attribut
privatedans une classe de programmation orientée objet, qui n'est visible que par le code situé à l'intérieur de cette classe.
Cas d'usage
Le concept de portée est omniprésent en développement logiciel. Il permet de structurer le code, d'isoler des comportements pour éviter que différentes parties du programme n'interfèrent entre elles par erreur, et de gérer efficacement la mémoire vive en supprimant les données dont la portée est terminée.
Bonnes pratiques
La règle d'or est de limiter la portée au maximum (principe du moindre privilège). Moins une variable est visible, moins elle risque d'être modifiée accidentellement par une autre partie du code, ce qui facilite grandement la correction des bugs.
Synonymes
Conseil
Pour bien visualiser la portée quand vous débutez, observez les blocs de code souvent délimités par des accolades { } ou par l'indentation. En général, une variable créée à l'intérieur d'un bloc 'meurt' à la sortie de ce bloc.
Questions fréquentes
Peut-on avoir deux variables avec le même nom ?
Oui, si elles ont des portées différentes (par exemple, deux fonctions distinctes ayant chacune leur propre variable 'index').
Pourquoi éviter les variables globales ?
Parce qu'elles peuvent être modifiées de n'importe où, ce qui rend le comportement du programme imprévisible et difficile à suivre.