En informatique, une procédure impure est une fonction ou un sous-programme qui modifie son environnement plutôt que de renvoyer une valeur. Cela contraste avec une procédure pure, qui ne modifie pas son environnement et renvoie une valeur.
Lorsqu’une procédure modifie son environnement, il peut être difficile de raisonner sur le comportement du programme. Par exemple, considérons la fonction Python suivante :
```python
def add_to_list(liste, valeur) :
list.append (valeur)
```
Cette fonction ajoute une valeur à une liste. Cependant, il ne renvoie pas la liste, il n'est donc pas clair quelle est la valeur de la liste après l'appel de la fonction. Cela peut rendre difficile le débogage des programmes qui utilisent cette fonction.
En revanche, considérons la fonction Python pure suivante :
```python
def add_to_list(liste, valeur) :
liste de retour + [valeur]
```
Cette fonction renvoie une nouvelle liste contenant la valeur ajoutée à la liste d'origine. Cela indique clairement la valeur de la liste après l'appel de la fonction et facilite le débogage des programmes qui utilisent cette fonction.
En général, il est considéré comme une bonne pratique d’utiliser des procédures pures autant que possible. Cela peut aider à rendre les programmes plus faciles à comprendre et à déboguer.
|