Envoyé par
wiztricks
Il n'y a rien d'incorrect à utiliser le mot-clef "global" pour assigner de nouvelles valeurs/objets à ces variables ou accéder à des variables globales associées des objets que l'on modifie (Intvar, dictionnaires, listes,...).
Cela pose juste des soucis dans la compréhension (et la maintenance) de gros programmes où l'état du programme à l'instant t, dépendra de ce tas de variables.
Au plus, il y en a et au plus, des fonctions en dépendent et au plus , les "bugs" seront difficiles à comprendre et corriger.
Pour des questions d'hygiène, on va plutôt s'attacher à écrire des fonctions "pures" (qui n'accèdent qu'à leurs arguments en lecture et retournent de nouveaux objets) et des "class", pour partitionner le programme en entités qui auront un rôle et des responsabilités bien définies. Plus faciles à appréhender, coder et tester sera plus simple et plus sûr.
Dans votre cas, vous n'avez que 3/4 variables partagées entre deux fonctions: pas de quoi se prendre le chou même si apprendre la POO reste incontournable pour ceux qui veulent progresser en programmation. Mais la POO va bien au delà de la création d'une "class"!!!
- W