====== LU07.A03 - Refactoring oder nicht? ====== Ordnen Sie acht Änderungen ein: Refactoring, Bugfix, neues Feature, Optimierung oder Rewrite. Begründen Sie jede Einordnung in einem Satz. ==== Detaillierte Aufgabenstellung ==== Die entscheidende Frage bei jeder Zeile lautet: **Ändert sich das nach aussen sichtbare Verhalten?** - Eine Variable ''d'' wird in ''bestelldatum'' umbenannt. - In einer Preisberechnung wird ''>'' durch ''>='' ersetzt, weil der Rabatt ab 100 Franken gelten soll und bisher erst ab 100.01 wirkte. - Eine Liste von gesperrten Konten wird durch ein ''set'' ersetzt. - Eine 80-Zeilen-Route in Flask wird in Route, Service und Hilfsfunktionen aufgeteilt. - Der Bericht bekommt zusätzlich eine Spalte «Rabatt». - Eine ''for''-Schleife mit ''append'' wird zur List Comprehension. - Das Modul ''export.py'' wird gelöscht und mit einer anderen Bibliothek neu geschrieben. - Eine Funktion, die ihre Eingabeliste mutiert hat, gibt neu eine neue Liste zurück; alle Aufrufstellen werden angepasst. ==== Schritt-für-Schritt-Anleitung ==== - Entscheiden Sie zuerst nur: Verhalten gleich oder nicht? - Ordnen Sie danach mit der Tabelle auf [[modul:m323:learningunits:lu07:grundlagen|LU07a]] ein. - Notieren Sie bei jedem Fall, welches Sicherheitsnetz Sie bräuchten, bevor Sie die Änderung machen. - Fall 8 ist der interessanteste: Diskutieren Sie ihn zu zweit, bevor Sie die Lösung anschauen. ---- {{tag>M323-LU07 M323-D1B}} [[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