Zum Inhalt springen
Informatik · Klasse 10

Ideen für aktives Lernen

Refactoring und Code-Qualität

Aktives Lernen eignet sich besonders gut für Refactoring und Code-Qualität, weil Schülerinnen und Schüler durch praktische Arbeit direkt erleben, wie kleine Veränderungen große Auswirkungen auf die Lesbarkeit und Wartung von Code haben. Durch das Erkennen und Beheben von Code Smells entwickeln sie ein Gespür für Qualitätsstandards, das sie später selbstständig anwenden können.

KMK BildungsstandardsKMK: STD.02KMK: STD.08
25–45 Min.Partnerarbeit → Ganze Klasse4 Aktivitäten

Aktivität 01

Problemorientiertes Lernen30 Min. · Partnerarbeit

Pair Programming: Smell-Jagd

Paare erhalten unrefaktorierten Code und identifizieren gemeinsam drei Code Smells. Sie refactoren schrittweise: Zuerst umbenennen, dann extrahieren, zuletzt testen. Am Ende präsentieren sie die Verbesserungen.

Warum ist kontinuierliches Refactoring ein wichtiger Bestandteil der Softwareentwicklung?

ModerationstippBei der Pair Programming Smell-Jagd darauf achten, dass beide Partner abwechselnd den Treiber und den Navigator stellen, um eine aktive Beteiligung zu gewährleisten.

Worauf zu achten istGeben Sie den Schülerinnen und Schülern jeweils einen kurzen Code-Schnipsel mit offensichtlichen 'Code Smells'. Lassen Sie sie diesen mit einem Partner austauschen. Jeder Schüler identifiziert und notiert mindestens zwei 'Code Smells' im Code des Partners und schlägt eine konkrete Refactoring-Maßnahme vor.

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 02

Lernen an Stationen45 Min. · Kleingruppen

Lernen an Stationen: Refactoring-Techniken

Richten Sie Stationen für Extrahieren Methode, Replace Temp with Query und Introduce Parameter Object ein. Gruppen rotieren alle 10 Minuten, dokumentieren Vorher-Nachher-Code und diskutieren Vorteile.

Wie identifiziert man 'Code Smells', die auf Verbesserungsbedarf hinweisen?

ModerationstippAn den Stationen zu Refactoring-Techniken klare Zeitlimits setzen und die Schülerinnen und Schüler anhalten, ihre Refactorings direkt mit Unit-Tests zu überprüfen.

Worauf zu achten istBitten Sie die Schülerinnen und Schüler, auf einer Karte eine der folgenden Fragen zu beantworten: 1. Nennen Sie einen 'Code Smell', den Sie heute gelernt haben, und erklären Sie kurz, warum er problematisch ist. 2. Beschreiben Sie eine Refactoring-Technik und wie sie die Code-Qualität verbessert.

ErinnernVerstehenAnwendenAnalysierenSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 03

Problemorientiertes Lernen35 Min. · Ganze Klasse

Code Review Circle

Jede Schülerin oder jeder Schüler schreibt eine kleine Methode. Im Kreis reicht man den Code weiter, jeder notiert einen Smell und schlägt eine Refactoring-Idee vor. Abschließend implementiert man kollektiv.

Bewerten Sie die Auswirkungen von Refactoring auf die Projektlaufzeit und die langfristige Code-Qualität.

ModerationstippIm Code Review Circle die Gruppen so zusammenstellen, dass Schülerinnen und Schüler mit unterschiedlichen Stärken zusammenarbeiten, um voneinander zu lernen.

Worauf zu achten istZeigen Sie einen kurzen Code-Abschnitt an der Tafel, der eine 'Magische Zahl' enthält. Fragen Sie: 'Was ist hier problematisch und wie könnten wir das verbessern?' Sammeln Sie die Antworten der Schülerinnen und Schüler, um das Verständnis zu überprüfen.

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 04

Problemorientiertes Lernen25 Min. · Einzelarbeit

Individuell: Refactoring Diary

Schülerinnen und Schüler refactoren ihren eigenen Code aus einer Vorlesung. Sie führen ein Diary: Smell, Technik, Zeitaufwand, Qualitätsgewinn. Teilen Sie Highlights in Plenum.

Warum ist kontinuierliches Refactoring ein wichtiger Bestandteil der Softwareentwicklung?

ModerationstippDas Refactoring Diary als tägliches Reflexionsinstrument nutzen, um Fortschritte sichtbar zu machen und Fragen für die nächste Einheit zu sammeln.

Worauf zu achten istGeben Sie den Schülerinnen und Schülern jeweils einen kurzen Code-Schnipsel mit offensichtlichen 'Code Smells'. Lassen Sie sie diesen mit einem Partner austauschen. Jeder Schüler identifiziert und notiert mindestens zwei 'Code Smells' im Code des Partners und schlägt eine konkrete Refactoring-Maßnahme vor.

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Vorlagen

Vorlagen, die zu diesen Informatik-Aktivitäten passen

Nutzen, bearbeiten, drucken oder teilen.

Einige Hinweise zum Unterrichten dieser Einheit

Erfahrene Lehrkräfte betonen, dass Refactoring am besten durch unmittelbare Praxis und Feedback gelernt wird. Vermeiden Sie es, zu viel Theorie vorab zu vermitteln – stattdessen sollten die Schülerinnen und Schüler direkt mit Code arbeiten und ihre eigenen Erfahrungen machen. Nutzen Sie die 'Fehlerkultur' als Lernchance: Fehler sind kein Scheitern, sondern zeigen, wo Verbesserungspotenzial besteht. Regelmäßige Reflexionsphasen im Plenum festigen das Gelernte und ermöglichen es, Missverständnisse frühzeitig zu klären.

Am Ende dieser Einheit sollen die Schülerinnen und Schüler Code Smells nicht nur identifizieren, sondern auch gezielt refaktorieren können. Erfolg zeigt sich darin, dass sie Refactoring-Techniken sinnvoll auswählen und ihre Entscheidungen mit konkreten Beispielen begründen. Zudem sollen sie den Wert von kontinuierlichem Refactoring für die Softwareentwicklung erkennen und argumentieren können.


Vorsicht vor diesen Fehlvorstellungen

  • Während der Pair Programming Smell-Jagd könnte eine Schülerin oder ein Schüler behaupten, dass Refactoring die Funktionalität ändert, weil der Code danach anders aussieht.

    Bestätigen Sie die Aussage zunächst und fragen Sie nach: 'Wie können wir sicherstellen, dass die Funktionalität gleich bleibt?' Fordern Sie die Schülerinnen und Schüler auf, Unit-Tests vor und nach dem Refactoring auszuführen, um dies zu überprüfen. Nutzen Sie die Pair-Session, um gemeinsam zu analysieren, warum Tests scheitern, wenn die Funktionalität nicht erhalten bleibt.

  • Während des Stationenlernens zu Refactoring-Techniken könnte ein Schüler argumentieren, dass guter Code von Anfang an perfekt sein muss.

    Fordern Sie die Schülerinnen und Schüler auf, ihre anfänglichen Entwürfe mit den refaktorierten Versionen zu vergleichen. Stellen Sie gezielte Fragen: 'Wo haben Sie Zeit gespart? Wo sehen Sie noch Verbesserungsmöglichkeiten?' Nutzen Sie die Ergebnisse der Kollaboration, um zu zeigen, dass Perfektion ein Prozess ist und nicht sofort erreicht werden muss.

  • Während des Code Review Circle könnte eine Schülerin oder ein Schüler behaupten, dass Refactoring nur die Projektzeit verlängert.

    Lassen Sie die Gruppen vor und nach dem Refactoring eine Schätzung abgeben, wie lange sie für die Fehlerbehebung oder Erweiterung des Codes benötigen würden. Vergleichen Sie diese Schätzungen mit der tatsächlichen Zeit nach dem Refactoring. Nutzen Sie die Diskussion, um den Return on Investment von Refactoring sichtbar zu machen.


In dieser Übersicht verwendete Methoden