In der Informatik ist eine unreine Prozedur eine Funktion oder Unterroutine, die ihre Umgebung verändert, anstatt einen Wert zurückzugeben. Dies steht im Gegensatz zu einer reinen Prozedur, die ihre Umgebung nicht verändert und stattdessen einen Wert zurückgibt.
Wenn eine Prozedur ihre Umgebung ändert, kann es schwierig sein, über das Verhalten des Programms nachzudenken. Betrachten Sie beispielsweise die folgende Python-Funktion:
„Python
def add_to_list(list, value):
list.append(Wert)
„
Diese Funktion fügt einer Liste einen Wert hinzu. Die Liste wird jedoch nicht zurückgegeben, sodass nach dem Aufruf der Funktion nicht klar ist, welchen Wert die Liste hat. Dies kann das Debuggen von Programmen erschweren, die diese Funktion verwenden.
Betrachten Sie im Gegensatz dazu die folgende reine Python-Funktion:
„Python
def add_to_list(list, value):
Rückgabeliste + [Wert]
„
Diese Funktion gibt eine neue Liste zurück, die den zur ursprünglichen Liste hinzugefügten Wert enthält. Dies macht den Wert der Liste nach dem Aufruf der Funktion klar und erleichtert das Debuggen von Programmen, die diese Funktion verwenden.
Im Allgemeinen gilt es als gute Praxis, wann immer möglich reine Verfahren zu verwenden. Dies kann dazu beitragen, Programme leichter zu verstehen und zu debuggen.