Aktuelle Version |
Dein Text |
Zeile 1: |
Zeile 1: |
| == Clean Code Einführung ==
| | Protkoll vom Clean-Code-Austausch-AK |
|
| |
|
| Zu Beginn haben wir uns überlegt, was ''schlechten'' Code ausmacht und wie dieser zustande kommt.
| | Nachfolgeverantsaltung zur Einführungsveranstalltung |
| | | <protokoll-link-dorthin> |
| === Smells of Bad design ===
| |
| * Rigidity: Es ist aufwändig etwas am System zu ändern, simple Änderungen haben große Konsequenzen
| |
| * Fragility: Kleinste Änderungen führen zu Fehlern und Problemen
| |
| * Immobility: Teile des Codes könnten auch woanders nutzbar sein, sind aber in dieser Form nicht verwendbar
| |
| * Viscosity: Bei Änderungen ist ein Hack einfacher, als eine Änderung, die das bestehende Design erhält. Es ist einfacher den falschen Weg zu wählen als den richtigen
| |
| * Needless Complexity: Unbenutzte Methoden, Variablen, ..., Vorbereitung auf zukünftige Änderungen, die es nie geben wird
| |
| * Needless Repetition: Copy-Paste, weil nötige Abstraktionen fehlen. Problematisch z.B. bei Bugfixes etc
| |
| * Opacity: Code ist schwer zu verstehen
| |
| | |
| Wir haben uns ein Beispiel angesehen, wie es dazu kommt das Code "rigid" wird und mit welchen Methoden man das verhindern kann. Konkret ging es bei diesem Beispiel um das Prinzip der Dependency Inversion.
| |
| | |
| Anschließend haben wir uns mit Unit Tests und Test Driven Development beschäftigt.
| |
| | |
| === Three laws of TDD ===
| |
| | |
| * Write no production code except to pass a failing test
| |
| * Write only enough of a test to demonstrate a failure
| |
| * Write only enough production code to pass the test
| |
| | |
| Und zusätzlich die folgende Merkregel:
| |
| | |
| * While the tests get more specific, the code gets more generic!
| |
| | |
| Wir haben dann anhand eines einfachen Beispiels das Prinzip von TDD ein wenig geübt und dabei auch über die Vor- und Nachteile diskutiert.
| |
| | |
| == Clean Code in der Hochschule ==
| |
| | |
| Austausch-AK als Nachfolgeveranstaltung zur Einführungsveranstaltung
| |
|
| |
|
| Qualitatives Clean Code in der Hochschule | | Qualitatives Clean Code in der Hochschule |
| * Sollte man das tun? (Vor-/Nachteile)
| | - Sollte man das tun? (Vor-/Nachteile) |
| * im normalen Lehrbetrieb
| | - im normalen Lehrbetrieb |
| * wartbarer/weiterentwickelbarer Code
| | - wartbarer/weiterentwickelbarer Code |
| * ...
| | - ... |
| | | |
| Vermittlung in der Uni: | | Vermittlung in der Uni: |