Technische Praktiken

Unittesting

  1. Sie können die Vorteile von Unit Tests gegenüber manuellem Testen benennen.
  2. Sie können Unit Tests für eine gegebene Funktion implementieren.
  3. Sie können eine gegebene Testmethode verstehen und beurteilen.
  4. Sie können die wichtigsten Assertions sinnvoll einsetzen.
  5. Sie können 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. Sie können 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. Sie können das TDD-Vorgehen anhand der drei Regeln wiedergeben, erklären, begründen und anwenden.
  3. Sie können die Vor- und Nachteile von gruppierten gegenüber parametrisierten Testfällen nachvollziehen und erklären.

Unterlagen

Pair Programming

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

Unterlagen

Clean Code

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

Unterlagen

Refactoring

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

Unterlagen

Entwurfsmuster

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

Unterlagen