Skip to content

consultingwerk/refactoring-workshop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Prompts für Workshop Modernisierung von OpenEdge-Anwendungen - technische Strategien mit KI-Unterstützung

1. Verlagerung des Trigger Codes in eine externe Prozedur

Bitte migriere den Code des `ON CHOOSE OF BUTTON-Report` Triggers aus `wwin.w` in eine eigene
externe Procedure namens `generateReport.p` neben `wwin.w`. Die Kundennummer und die "Datum von"
und "Datum bis" Werte sollten als `input` Parameter übergeben werden. Anschließend rufe diese
Procedure im Trigger auf. Da `INPUT` der Standard bei Parametern ist muss das beim Aufruf nicht
explizit angegeben werden.

2. Parameter-Objekt einführen

2.1 Erstellung eines Skills für die Erstellung eines Parameter-Objekts

Erstelle bitte einen neuen Skill in .windsurf/skills/parameterObject/SKILL.md der beschreibt wie
eine Liste aus Parametern in ein Parameter Objekt überführt werden kann.

Der Name eines Parameter Objekt sollte der Methode nachempfunden sein (z.B. <Methodenname>Parameter ).
Die einzelnen Parameter aus der Parameterliste sind Properties in Parameter Objekt:

```abl
define public property <Parametername ohne Prefix> as <Parameterdatentyp> no-undo
get.
set.
```

Außerdem sollte ein initialisierender Konstruktor der Werte für alle Properties übergeben bekommt
sowie ein Defaultkonstruktor ohne Parameter der den initialisierenden Konstruktor mit Defaultwerten
aufruft hinzugefügt werden.

Die Beschreibung des Skills sollte reflektieren dass er beim Erstellen von Parameter Objekten genutzt
werden soll.

Der über den Skill generierte Code muss valider ABL Code sein. Nutze den OpenEdge MCP Server um relevante
Dokumentation und Beispielcode abzufragen.

2.2 Anwendung des Skills auf die generateReport.p Prozedur

Erstelle bitte ein Parameter Objekt für die generateReport.p Procedure. Anschließend ersetzte die einzelnen
Parameter der generateReport.p Procedure mit dem Parameter Objekt sowie den Aufruf der Procedure in wwin.w.

3. Externe Procedure -> Klasse

Erstelle bitte aus `generateReport.p` eine Klasse `ReportGenerator.cls` mit einer `public` Methode
`GenerateReport` die den Code der Procedure übernimmt.

Nutze den OpenEdge MCP Server um valide Syntax für Klassen, deren Methoden, Parametern und anderem relevanten
Code abzufragen. Beachte die Unterschiede bei Parameterdefinitionen zwischen Procedures und Methoden.

4. Methode extrahieren

Bitte Refactor die Methode `GenerateReport` in der Klasse `ReportGenerator`. Der Code für die Ausgabe je
OrderLine und Order sollte in eigene `private` Methoden extrahiert werden. Die `GenerateReport` Methode
sollte diese dann entsprechend aufrufen.

About

OpenEdge AI Refactoring workshop

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors