Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung |
| modul:m323:learningunits:lu02:aufgaben:pure2 [2024/03/28 14:07] – angelegt - Externe Bearbeitung 127.0.0.1 | modul:m323:learningunits:lu02:aufgaben:pure2 [2026/08/18 10:19] (aktuell) – Kompetenz-Tags auf neue Kompetenzmatrix ZH gesetzt admin |
|---|
| 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 === |
| ---- | ---- |
| <nodisp>https://github.com/templates-python/m323-lu02-a02-pure2</nodisp> | <nodisp>https://github.com/templates-python/m323-lu02-a02-pure2</nodisp> |
| | {{tag>M323-LU02 M323-A1B M323-D1I}} |
| [[https://creativecommons.org/licenses/by-nc-sa/4.0/ch/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] (c) Kevin Maurizi | [[https://creativecommons.org/licenses/by-nc-sa/4.0/ch/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] (c) Kevin Maurizi |