{
"llm" : {
"feedback" : "# Exercise: parking\n\n### Correctness\n- Bei `FlatRateCard` werden 150 CHF immer verrechnet, auch wenn gar nicht parkiert wurde; das führt dazu, dass der Gesamtumsatz nicht der geforderten Ausgabe (156.75 CHF) entsprechen kann, falls das Abo nur als *Monatskosten* gedacht ist und nicht pro Abrechnungslauf immer anfällt.\n\n### Suggestion\n- Überlege dir, **wann** die 150 CHF bei einer `FlatRateCard` in den Umsatz einfliessen sollen: einmalig (z.B. beim Erstellen/Registrieren) oder bei jedem `calculateRevenueAndReset()`-Durchlauf. Vergleiche das mit der erwarteten Gesamtsumme 156.75 CHF und den Parkzeiten im Example, um zu prüfen, welches Verhalten gemeint ist.\n\n### Code Style\n- In `FlatRateCard` ist `totalTime` (inkl. Aufsummieren in `park`) faktisch ungenutzt, weil `cost()` unabhängig davon immer 150 zurückgibt; entweder konsequent verwenden oder entfernen.\n- In `GroupCard` heisst das Feld `person` obwohl es eine Anzahl Personen ist; ein pluraler/sprechender Name (z.B. `persons`/`numberOfPersons`) macht den Code leichter verständlich.\n- In `GroupCard` sind `@Override`-Annotationen bei den Interface-Methoden nicht gesetzt; das ist nicht nötig, hilft aber, Tippfehler/Signaturfehler früh zu erkennen.\n\n\n# Exercise: labyrinth\n\nLlm Evaluation ist für diese Aufgabe deaktiviert. Entferne die .llmignore Datei vom Package der Aufgabe.\n\n\n# Exercise: visualizer\n\n### Correctness\n- Das `DataPoint`-Interface verlangt laut Aufgabe Javadoc-Kommentare, die das **erwartete Verhalten** dokumentieren; deine Kommentare sind eher kurz/oberflächlich und lassen wichtige Details (z. B. Format/Einheiten, Mehrzeiligkeit, Bedeutung von `null` bei Gruppen) offen.\n- In `Processor.getY()` verwendest du zwar `clockRateKhz * cores` (wie verlangt), aber die Aufgabe fordert für den Prozessor-Datensatz zusätzlich eine **logarithmische y-Achse** für eine sinnvolle Darstellung; im `Visualizer` ist dafür bei dir nichts umgesetzt/umschaltbar.\n- In `Processor.getClockRateKhzFormated()` sollen GHz-Werte **als Kommazahlen** angezeigt werden, kHz/MHz als **ganze Zahlen**; bei dir kann die GHz-Ausgabe sehr viele Dezimalstellen haben (z. B. `2.500123 GHz`) und ist damit nicht im Sinne der Anforderung „2.5 GHz“.\n- In `Country.getDesciption()` (auch Schreibweise) ist die Detailzeile für GDP/Bezeichnung inkonsistent/fehlerhaft („GDP/capitas“); die Aufgabe verlangt, dass die restlichen Details den Screenshots entsprechen (also verständliche, passende Beschriftungen).\n\n### Suggestion\n- Überlege dir bei jeder Methode im Interface, **was genau der Visualizer damit macht** (Min/Max-Berechnung, Gruppierung/Legendeneinträge, Hover-Titel und Hover-Text) und ergänze die Javadocs so, dass ein anderes Team die Implementierungen korrekt bauen kann (z. B. „mehrzeilig, durch `\\n` getrennt“, „Gruppe darf `null` sein“, „Werte in Roh-Einheit vs. umgerechnet“).\n- Für die logarithmische y-Achse beim Prozessor-Datensatz: Schau, **wo im Visualizer die Skalierung passiert** (Mapping von Datenwert → Pixel) und wie du dort optional eine Log-Transformation einbauen könntest, ohne die anderen Datensätze kaputt zu machen.\n- Bei der GHz-Formatierung: Schau dir an, wie du Zahlen **abhängig von der Einheit passend rundest/formatierst** (GHz typischerweise 1 Nachkommastelle; kHz/MHz ohne Nachkommastellen) und stelle sicher, dass das exakt den geforderten Beispielen entspricht.\n- Vergleiche deine Hover-Texte mit den Screenshots: Achte auf **verständliche Labels, Einheiten und Zeilenumbrüche** (z. B. ob Prozentzeichen, „km²“, „GDP per capita“, etc. sauber dargestellt werden).\n\n3. Code Style:\n- In `DataPoint` und den Implementierungen ist `getDesciption()` falsch geschrieben; ein Tippfehler im Methodennamen zieht sich durch alle Klassen und macht die API unnötig fehleranfällig.\n- Methoden-/Variablennamen sind inkonsistent (`getbudgetInMillions` → Java-üblich wäre CamelCase wie `getBudgetInMillions`), ebenso Textausgaben („millionen“, „GDP/capitas“).\n- In `Visualizer` sind `DUMMY_DOUBLE`/`DUMMY_STRING` jetzt unbenutzt und können entfernt werden, sobald du fertig bist, damit kein „toter Code“ im Projekt bleibt.\n\n\n# Exercise: swissmap\n\nLlm Evaluation ist für diese Aufgabe deaktiviert. Entferne die .llmignore Datei vom Package der Aufgabe.\n",
"status" : "SUCCESS"
}
}