Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  • Implementieren Sie Ihr Produkt basierend auf dem Entwurf (passen Sie den Entwurf ggf. an)
  • Projektname muss Gruppenname enthalten!
  • Maven:
    • Das Produkt muss sich mit Hilfe von maven bauen lassen.
    • Das Bauen muss ohne mvn install funktionieren.
    • Die Tests müssen über maven ausgeführt werden.
    • GUI-Tests müssen sich ausschalten lassen.
    • Andere Build-Tools wie Gradle sind nicht (mehr) erlaubt dürfen maximal ergänzend verwendet werden. Maven muss aber funktionsfähig vorhanden sein.
  • Sinnvoll: (echtes) Pair-Programing Pairprogramming (mit Tauschen der Rollen!): Hinweise zum Pairprogramming
  • Sinnvoll: längere Programmiersitzungen
  • Erstellen Sie dabei die nötigen Systemunterlagen (tw. erst zum Ende des Projektes)
    • Benutzerhandbuch,
    • Testunterlagen,
    • Installationshandbuch etc.
  • Testen Sie die wichtigen Klassen mit JUnit, nicht erst am ENDE!
    • Hilfreich: Dependency Injection (z.B. Google Guice)
    • TestFX kann beim Testen der GUI helfen. Wichtiger sind aber Tests der Funktionalitäten!
    • Beachten Sie, dass die GUI-Tests normalerweise nicht mit ausgeführt werden sollen, damit die Tests problemlos auch auf einem Build-Server (wie bamboo) ausgeführt werden können.
    • Mocken Sie Abhängigkeiten in Unit-Tests mit Mockito
  • Führen Sie Integrations- und Endtests durch
  • Führen Sie mindestens ein dokumentiertes gruppenweites Code–Review durch
  • Nutzen Sie Tools wie FindBugs oder Checkstyle, Checkstyle oder SonarLint
  • Es ist grundsätzlich nicht erlaubt, Warnungen zu unterdrücken (Wenn Warnungen unterdrückt werden, dann muss es einen sehr guten Grund geben! Jede zusätzliche Warnung muss dokumentiert und begründet sein!)
    Image Added
  • In Scrum muss ein Produktinkrement getestet und lauffähig sein.
  • Versuchen Sie möglichst früh und regelmäßig die aktuelle Version auch auf dem Rechner in der Arbi zu deployen.
  • Das MVP sollte "von Hand" erstellt werden und sich nicht auf Tools wie AfterburnerFX abstützen. Die Erfahrung zeigt, dass dies sonst im Laufe der Zeit viele Dinge (insbesondere Tests) unnötigt verkompliziert.