Skip to content
Snippets Groups Projects
Name Last commit Last update
README.md

03_LLM_Assignments

Prompt

Du bist ein Experte für Softwareentwicklung und Git. Deine Aufgabe ist es, Git-Commit-Nachrichten nach ihrer Qualität zu bewerten. Orientiere dich an den Best Practices von Chris Beams:

  1. Verwendung des Imperativs: Der Titel (erste Zeile) beginnt mit einem Befehlswort (z. B. „Fix“, „Add“, „Update“). Kein „Fixed“ oder „Added“.
  2. Länge des Titels: Der Titel ist maximal 50 Zeichen lang.
  3. Trennung von Titel und Body: Titel und Body sind durch eine Leerzeile getrennt.
  4. Erklärung im Body: Der Body erklärt, warum die Änderung gemacht wurde (nicht nur was geändert wurde).
  5. Klarheit: Die Nachricht ist klar und einfach zu verstehen, ohne unnötige Worte.
  6. Keine vagen Aussagen: Die Nachricht enthält keine vagen oder nicht hilfreichen Begriffe wie „Fix“ oder „Update“ ohne weitere Erklärung.
  7. Details zur Änderung: Die Nachricht beschreibt, was genau geändert wurde und wie die Änderung das Projekt verbessert.

Für jede der oben genannten Regeln erhält die Commit-Nachricht maximal einen Punkt. Bewerte die Nachricht entsprechend, ob sie der jeweiligen Regel entspricht (1 Punkt) oder nicht (0 Punkte). Das maximale Bewertungsergebnis sind 7 Punkte.

Bewertung von 5 Git Commit Messages (Excel-Tabelle "Good")

Commit Message Score by ChatGPT Score by Copilot
Fix crash on login due to null user token 4 4
Rework the @PropertySource parsing logic recently changed in commit 7c608886 to deal with the same source appearing on a @Configuration class and an @Import class 4 4
Issue: SPR-12059 1 1
Update HierarchicalUriComponents.toUri() to only prepend a missing '/' when the scheme, user info, host or port are specified. This makes the toUri() method behave in the same way as .toUriString() and allows relative URIs to be created. 5 4
UriComponentsBuilder supports query without value 1 1

Bewertung von 5 Git Commit Messages (Excel-Tabelle "Bad")

Commit Message Score by ChatGPT Score by Copilot
refactoring .testsuite .aop.aspectj tests in preparation for migration to .context 3 3
re-adding mock.jndi.* artifacts to .orm test codebase eliminated after moving away from svn:externals 4 4
IN PROGRESS - issue SPR-5599: Hook @Configuration class processing into context:component-scan/ and context:annotation-config/ through AnnotationConfigUtils#registerAnnotationConfigProcessors 3 3
+ Adding POC tooling integration points, namely AbstractConfigurationPostProcessor and allowing for tooling-specified ClassLoader for use with ASM parsing + Eliminated ModelMethod in favor of BeanMethod throughout 6 4
polishing 2 2

Optional Assignment - Let an LLM create the Scoring Prompt

Meta-Prompt:

Du bist dazu bestimmt, Git-Commit-Nachrichten gemäß den 7 Regeln von Chris Beams zu bewerten. Deine Aufgabe ist es, einen Bewertungsprompt zu erstellen, der Commit-Nachrichten nach der Reihe der folgenden 7 Regeln prüft, ob sie diese Regeln einhalten:

https://cbea.ms/git-commit/#seven-rules

Dein Ziel ist es, einen Bewertungsprompt zu erstellen, der die Commit-Nachricht nach diesen 7 Regeln prüft. Die Punktzahl wird wie folgt vergeben:

  • 1 Punkt: Wenn die Commit-Nachricht der Regel entspricht.
  • 0 Punkte: Wenn die Commit-Nachricht nicht der Regel entspricht.

Am Ende der Bewertung addierst du die Punkte aus jeder Regel und gibst die Gesamtnote auf einer Skala von 0 bis 7 an.

Bewertungsprompt (vom Meta-Prompt erzeugt):

Bitte bewerte die folgende Commit-Nachricht anhand der 7 Regeln aus Chris Beams' Blogpost. Jede Regel sollte einzeln bewertet werden. Gib zu jeder Regel eine Punktzahl von 0 oder 1 und eine kurze Begründung, warum die Commit-Nachricht der jeweiligen Regel entspricht oder nicht. Am Ende addiere die Punktzahlen und gib eine Gesamtbewertung von 0 bis 7 an.

  1. Trenne Betreff und Textkörper mit einer Leerzeile:

    Hat die Commit-Nachricht Betreff und Textkörper durch eine Leerzeile getrennt?

     Punktzahl (0 oder 1): [Begründung]
  2. Begrenze den Betreff auf 50 Zeichen:

    Hat der Betreff maximal 50 Zeichen?

     Punktzahl (0 oder 1): [Begründung]
  3. Setze den Betreff groß:

    Ist der Betreff großgeschrieben?

     Punktzahl (0 oder 1): [Begründung]
  4. Verwende den Imperativ im Betreff:

    Wird der Imperativ verwendet (z. B. „Füge hinzu“, „Verbessere“, „Entferne“) im Betreff?

     Punktzahl (0 oder 1): [Begründung]
  5. Beende den Betreff nicht mit einem Punkt:

    Endet der Betreff nicht mit einem Punkt?

     Punktzahl (0 oder 1): [Begründung]
  6. Wickele den Textkörper bei 72 Zeichen:

    Wird der Textkörper bei 72 Zeichen umgebrochen?

     Punktzahl (0 oder 1): [Begründung]
  7. Erkläre im Textkörper was und warum, nicht wie:

    Wird im Textkörper erklärt, was getan wurde und warum, ohne detaillierte Anweisungen zum „Wie“?

     Punktzahl (0 oder 1): [Begründung]

Addiere die Punktzahlen aus den einzelnen Regeln. Die maximale Punktzahl ist 7, wenn alle Regeln vollständig eingehalten wurden.

    Gesamtbewertung (0–7)