Technische Praktiken

Unittesting

  1. Du kannst die Vorteile von Unit Tests gegenüber manuellem Testen benennen.
  2. Du kannst Unit Tests für eine gegebene Funktionalität implementieren.
  3. Du kannst eine gegebene Testmethode verstehen und beurteilen.
  4. Du kannst die wichtigsten Assertions sinnvoll einsetzen.
  5. Du kannst die drei Bereiche einer Testmethode voneinander abgrenzen (Arrange/Act/Assert bzw. Given/When/Then).

Für Assertions wird an der Prüfung Dokumentation zur Verfügung gestellt.

Unterlagen

Test-Driven Development

  1. Du kannst die Auswirkung von Test-First Programming bzw. Test-Driven Development (TDD) auf den Entwicklungsprozess (Arbeitsrhythmus, Fehlersuche, Debugging) und die Code-Qualität (API-Design) erläutern.
  2. Du kannst das TDD-Vorgehen anhand der drei Regeln wiedergeben, erklären, begründen und anwenden.
  3. Du kannst die Vor- und Nachteile von gruppierten gegenüber parametrisierten Testfällen nachvollziehen und erklären.

Unterlagen

Pair Programming

  1. Du kannst die Motivation, die Ziele und den Nutzen von Pair Programming benennen.
  2. Du kannst die verschiedenen Ansichten zum Thema Pair Programming von Kent Beck (Extreme Programming Explained) und Robert C. Martin (Clean Agile) wiedergeben und gegeneinander abgrenzen.
  3. Du kannst mögliche Probleme beim Pair Programming mit passenden Lösungen dazu benennen.
  4. Du kannst eine Pair Programming Session vor Ort oder per Videokonferenz organisieren, durchführen und im Anschluss reflektieren.

Unterlagen

Clean Code

  1. Du weisst, warum Lesbarkeit und Verständlichkeit wichtige Kriterien für guten Programmcode sind.
  2. Du kannst die Vorteile von einheitlicher Code-Formatierung gegenüber unformatiertem Code benennen und die entsprechenden Regeln anwenden.
  3. Du verstehst den Zusammenhang zwischen Code-Formatierung und Versionskontrolle.
  4. Du verstehst die Regeln zur Benennung von Bezeichnern und kannst diese anwenden.
  5. Du kannst nützliche von unnützen Kommentaren unterscheiden und den Quellcode sinnvoll kommentieren.
  6. Du kannst das Prinzip der Wiederverwendbarkeit auf Code und Werte anwenden.
  7. Du kannst die Regeln der Klarheit von Programmcode anwenden.

Unterlagen

Refactoring

  1. Du kannst das Ziel von Refactoring erklären und diesen Vorgang gegenüber Neuentwicklung und Fehlerkorrektur abgrenzen.
  2. Du kannst den Zusammenhang zwischen Unit Testing und Refactoring erklären (Red/Green/Refactor).
  3. Du kannst erklären, was ein Code Smell ist, und welche Rolle es beim Refactoring spielt.
  4. Du kannst Code Smells an bestehendem Programmcode erkennen und geeignete Refactorings anwenden, um den betreffenden Code zu verbessern.
  5. Du verstehst die Vorgehensweise beim Refactoring in drei Schritten und kannst diese auf bestehenden Code anwenden.

Unterlagen

Entwurfsmuster

  1. Du kannst die Idee von Entwurfsmustern (Design Patterns) erklären und sie von anderen Arten der Software-Wiederverwendbarkeit (Libraries, Frameworks) abgrenzen.
  2. Du kannst die konkreten Entwurfsmuster Adapter, Observer und State erklären und auf eine gegebene Problemstellung anwenden.

Unterlagen