Pure Function
Eine reine Funktion liefert für dieselbe Eingabe immer dieselbe Ausgabe und hat keine Seiteneffekte — das Fundament funktionaler Programmierung und verlässlichen Codes.
Zweck
Vorhersehbare, testbare und cachebare Funktionen, die versteckte Zustandsabhängigkeiten beseitigen.
Mechanismus
Bedingungen: 1) gleiche Eingabe → gleiche Ausgabe (Referenzielle Transparenz); 2) keine Seiteneffekte (kein Verändern externen Zustands, keine Abhängigkeit von veränderlichem externem Zustand). Ermöglicht Memoisierung, parallele Ausführung und Gleichungsreasoning.
Anwendungsfälle
- Funktionale Programmierung
- Vereinfachtes Testen
- Verlässlicher Code