Quando una procedura modifica il suo ambiente, può rendere difficile ragionare sul comportamento del programma. Ad esempio, considera la seguente funzione Python:
```pitone
def aggiungi_a_lista(lista, valore):
lista.append(valore)
```
Questa funzione aggiunge un valore a una lista. Tuttavia, non restituisce l'elenco, quindi non è chiaro quale sia il valore dell'elenco dopo la chiamata della funzione. Ciò può rendere difficile il debug dei programmi che utilizzano questa funzione.
Al contrario, considera la seguente funzione Python pura:
```pitone
def aggiungi_a_lista(lista, valore):
lista restituita + [valore]
```
Questa funzione restituisce un nuovo elenco che contiene il valore aggiunto all'elenco originale. Ciò rende chiaro quale sarà il valore dell'elenco dopo che la funzione è stata chiamata e semplifica il debug dei programmi che utilizzano questa funzione.
In generale, è considerata buona pratica utilizzare procedure pure quando possibile. Ciò può aiutare a rendere i programmi più facili da comprendere ed eseguire il debug.
software © www.354353.com