Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| |
modul:m323:learningunits:lu02:aufgaben:pure2 [2024/03/28 14:07] – angelegt - Externe Bearbeitung 127.0.0.1 | modul:m323:learningunits:lu02:aufgaben:pure2 [2024/08/28 13:48] (aktuell) – kmaurizi |
---|
print("Gesamtpreis:", total) | print("Gesamtpreis:", total) |
</code> | </code> |
| |
| <WRAP center round info 60%> |
| Die Funktion ''calculate_total_unpure'' wird als **unrein** angesehen aus folgenden Gründen: |
| |
| * **Abhängigkeit vom globalen Zustand:** Die Funktion greift auf zwei globale Variablen zu, ''BASKET'' und ''DISCOUNT''. Das bedeutet, dass ihr Verhalten sich abhängig vom Zustand dieser globalen Variablen ändern kann, was sie kontextabhängig macht. |
| * **Seiteneffekte:** Die Funktion gibt den Gesamtpreis mit ''print'' aus, was ein Seiteneffekt ist. Eine reine Funktion sollte nur einen Wert zurückgeben und keine Seiteneffekte wie das Ausgeben auf der Konsole, das Ändern des globalen Zustands oder das Interagieren mit externen Systemen haben. |
| * **Modifikation des globalen Zustands:** Obwohl diese spezifische Funktion die globalen Variablen nicht modifiziert, ist sie dennoch abhängig von ihnen, und jede Änderung dieser globalen Variablen außerhalb der Funktion beeinflusst das Ergebnis. Diese Abhängigkeit von einem externen veränderlichen Zustand macht die Funktion unrein. |
| |
| </WRAP> |
| |
| |
=== Zusammenfassung === | === Zusammenfassung === |