Posted 1 month ago
443 followers
457 views
5 likes
0 comments
2 shares
Dein AI-Agent halluziniert Java 8 Code in dein Java 21 Projekt und du merkst es nicht mal. Letzte Woche hab ich einen PR reviewed mit 200 Zeilen Boilerplate, verschachtelten for-Schleifen und Lombok auf einer Klasse mit 4 Feldern. Ich dachte es wäre ein Junior, am Ende war es der Agent. Ohne konfigurierte Java-Version greift er auf den Durchschnitt seines Trainingsdatensatzes zurück, und dieser Durchschnitt ist immer noch Java 8, weil das halbe Internet entsprechend alten Code zeigt. Das Problem 🧨 Java 17 und 21 existieren seit Jahren (Java 25 gibts natürlich auch seit letztem Jahr) mit Records, Pattern Matching, Virtual Threads und Sealed Classes. Dein Agent ignoriert das alles, wenn du ihm nicht explizit sagst worauf er baut. Fix in deiner AGENTS.md / CLAUDE.md 🛠️ ☕ Target-Version: Java 21 (LTS) ☕ Build: Maven / Gradle mit --release 21 ☕ Style-Guide definieren ☕ Ban-Liste: keine Lombok @Data für Datenträger, keine manuellen Getter/Setter, keine for-Index-Loops über Collections Was sich ändert 🔥 ✅ Records statt DTOs, immutable und in einer Zeile ✅ Stream API mit toList() statt for-Loops ✅ Pattern Matching for switch ohne instanceof-Geraffel ✅ Record Patterns destructuren direkt ohne Getter-Ketten ✅ Virtual Threads für IO-lastige Workloads ✅ var wo der Typ offensichtlich ist Du zahlst für einen Agenten der moderne Sprachfeatures kennt, also nutz sie auch. Ein Satz in der Config spart dir die Hälfte deines Code-Reviews, weil Code-Qualität bei der Projekt-Konfiguration anfängt und nicht erst beim Prompt. Folgen für mehr Clean-Code Realtalk 👨💻 #javaentwicklung #cleancode #softwareentwicklung #programmieren #aitools