# Coding Guidelines Instructions ## Naming - Manager: *Manager - Controller: *Controller - Entities: Singular Substantive - Negative IDs: temporäre Objekte ## Style - 4 Spaces - Logger statt System.out - Deutsche UI-Texte, Englisch im Code ## Error Handling - Log + Rückgabe (bestehend); für neue komplexe Logik optional BusinessException ## Persistenz - Neue Entity: id == null vor persist - refresh(entity) nutzen um Lazy Collections zu initialisieren ## Transaktionen - Schreibmethoden: @Transactional (oder rely auf EJB Container) ## Performance - Sammeloperationen: saveAll(Collection) ## UI - PrimeFaces Dialoge schließen mit closeDialogs - Negative IDs in Listen bis Sammelspeichern ## PDF - Neue Funktionen nur mit iText7 API ## Tests (Empfehlung) - CRUD Manager Tests - Klon & Fragebogen Zuordnung ## Anti-Pattern - Logik nicht direkt im Controller wenn generell wiederverwendbar - Keine duplizierten Query Strings -> Named Queries --- Aktualisiert: 2025-10-20