![Java User Group #35: Open Rewrite (Automatisierte Refactorings) & All Stars der Software Bugs](/media/thumb/bbd52c9f8bac93583f5b88981b2f0398.jpg)
Details
Das 35. JUG Bonn Treffen findet am 21.Februar statt.
Es handelt sich um eine reine Offline-Veranstaltung. Die Teilnahme ist kostenfrei — wir bedanken uns bei LeanIX für das Sponsoring der Location und der Verpflegung.
18:30 - Einlass + Essen
19:00 Talk #1: Open Rewrite - Automatisierte Refactorings einfach gemacht (Merlin)
20:00 Talk #2: Die All Stars der Software Bugs und was wir von ihnen lernen können (Christian)
21:15 - Diskussion & Networking
22:00 - Ende
OPEN REWRITE
AUTOMATISIERTE REFACTORINGS EINFACH GEMACHT
Refactorings sind Änderungen, die das Verhalten des Programms nicht verändern und die Risiken für neue Bugs verringern. Sie tragen nicht direkt zur Weiterentwicklung eines Produktes bei und werden deswegen oft als Kosten, Ballast oder stupide Arbeiten abgetan. Dies wird ihnen nicht gerecht, denn aus kleinen Refactorings setzten sich große Umbaumaßnahmen wie die Aktualisierung von Frameworks oder Durchsetzung von Guidelines zusammen.
In dieser Session wird Open Rewrite als Werkzeug vorgestellt, um spezielle Refactorings wie Migrationen von JUnit 4 auf 5 oder von Java 11 auf Java 17 zu automatisieren und skaliert ausführbar zu machen. Durch die Kombination von kleinen, testbaren Rezepten werden Refactoring Aufwände auf einen Bruchteil reduziert und reproduzierbar gemacht. Durch die auf Erweiterbarkeit ausgelegte Architektur und die einfache Einbindung in Build Prozesse eignet es sich ebenfalls hervorragend, um die Einhaltung von Konventionen umzusetzen.
Nach dieser Session ist ein grundlegendes Verständnis für Open Rewrite geschaffen. Auf dessen Basis kann im Folgenden aufgesetzt werden, um Aufwände zu reduzieren und standardisierte von Open Rewritre angebotene Refactorings reproduzierbar zu machen, damit die Entwicklung des Produktes nicht auf der Strecke bleibt.
Merlin Bögershausen ist professional Software Engineer seit über 10 Jahren, Fluglehrer, Volleyballer und Vater.
Die All Stars der Software Bugs und was wir von ihnen lernen können
Keine Software ist frei von Fehlern und jeder von uns hat sicherlich mehr als einmal einen ganz persönlichen "Wie konnte das passieren?!" Moment erlebt. Manche Bugs (oder besser gesagt ihre Auswirkungen) schaffen es sogar auf die Titelseiten großer Tageszeitungen.
Der Vortrag stellt ein paar dieser "All Stars" vor. Schadenfreude ist schließlich immer noch die schönste Freude - und wer von uns hat bei einem Bericht über einen Bug nicht schon geschmunzelt und insgeheim gedacht "Zum Glück ist das nicht mir passiert".
Doch wir wollen auch einen Schritt weitergehen und überlegen: Was lässt sich aus prominenten Beispielen ganz konkret für unsere eigene Arbeit ableiten? Was für Fehlentscheidungen oder Nachlässigkeiten haben zu den teils extremen Auswirkungen geführt und was können wir daraus lernen um unsere eigene Software besser und robuster zu gestalten?
Mit einer gesunden Mischung aus Humor und Ernsthaftigkeit schaffen wir es hoffentlich ein wenig mehr Qualität auch in unsere eigenen Lösungen zu bringen.
Christian Seifert ist Software Engineer und Architekt mit über 20 Jahren Erfahrung in der Entwicklung von Individualsoftware. Aktuell ist er Principal Consultant bei esentri und begleitet Firmen bei der digitalen Transformation. Ob beim Schreiben von Code, der Analyse von Anforderungen oder der Ideenfindung mit seinem Team – für ihn geht es nicht nur darum, die "richtige" Lösung zu finden, sondern auch dafür zu sorgen, dass alle Beteiligten den Spaß an ihrer Arbeit behalten.
Ursprünglich von der Technik in der Softwareentwicklung fasziniert, widmet Christian heute einen großen Teil seiner Zeit der Interaktion mit Menschen und setzt sich leidenschaftlich für ein besseres Verständnis zwischen Entwicklungsteams und Business-Stakeholdern ein.
Bei schönem Wetter trifft man Christian häufig auf dem Fahrrad oder beim Joggen im Park. Bei schlechtem Wetter findet man ihn eher auf der Couch, wo er vergeblich versucht, seinen Netflix-Konsum unter Kontrolle zu halten.