Design by Contract & Error Handling Revisited

This is a past event

13 people went

Location image of event venue

Details

Am nächsten Treffen der C++ Usergroup haben wir gleich zwei Vorträge.

"Design by Contract" von Dominik Berner

100% der Softwarefehler werden vom Programmierer verursacht. Testen und Code Reviews helfen zwar, sind aber nicht genug. Viel schöner wäre es, wenn ich als Programmierer eine falsche Verwendung meines Codes von vornherein abfangen könnte.

Mit "Design by Contract" bekommen wir ein Werkzeug für genau diesen Zweck in die Hände. Aber nicht nur die Korrektheit, sondern auch die Lesbarkeit, Wartbarkeit und Robustheit des Codes werden damit erhöht. Auch wenn dieses Konzept nocht nicht nativ in C++ verfügbar ist, lässt es sich schon mit wenig Aufwand anwenden.

Wie funktioniert dieses Konzept? Wie setze ich es um? Und welchen Einfluss hat das auf das Testing? In diesem Vortrag werden die Antworten auf diese und weitere Fragen ausführlich erläutert.

Die Teilnehmer erhalten eine Einführung in "Design by Contract" sowie konkrete Hinweise zur Anwendung in bestehendem C++ Code. Nebst der Anwendung auf kleiner Stufe wird der Einsatz im kompletten Entwicklungszyklus besprochen. Die Teilnehmer erhalten die Möglichkeit, Fragen zum Konzept von "Design by Contract" zu stellen und das Konzept kritisch zu diskutieren.

"C++ Error Handling Revisited" von Raphael Meyer

Die Behandlung von Fehlern und Ausnahmesituationen ist nicht nur ein wichtiger Teil jeder Software, sondern oft auch sehr umfangreich. Gerade bei Embedded-Software, welche von der Interaktion mit Hardware geprägt ist, ist eine sorgfältige Fehlerbehandlung für den einwandfreien Betrieb der entwickelten Geräte unabdingbar.

Leider trägt die Fehler- und Ausnahmebehandlung aber oft dazu bei, dass Abläufe im Code schlechter lesbar sind. Der Code zu Ausnahmebehandlung drängt sich dazwischen und reißt die eigentlichen Abläufe visuell auseinander.

Funktionale Programmiersprachen bieten hier interessante Konzepte, welche nicht ganz neu sind, aber in letzter Zeit vermehrt wiederentdeckt werden. Wir werden einen kurzen Blick auf das Fehlerhandling in Haskell werfen und betrachten, wie sich diese Konzepte in C++ umsetzen und anwenden lassen. Dabei treffen wir auch einige neue Features aus C++17 an.

Agenda
- Begrüssung
- "Design by Contract" von Dominik Berner
- "C++ Error Handling Revisited" von Raphael Meyer
- Apéro

!! Achtung !!
Anmeldungen erfolgen ebenfalls über die Veranstaltung (https://www.xing.com/events/design-by-contract-error-handling-revisited-2346940) unserer Xing Gruppe C++ Usergroup Zentralschweiz (https://www.xing.com/communities/groups/c-plus-plus-usergroup-zentralschweiz-1074254), oder über das Kontaktformular auf unserem Blog (http://cpp-ug-luzern.blogspot.ch/). Wenn sich hier noch niemand angemeldet hat heisst das also nicht, dass niemand kommt. Üblicherweise sind wir jeweils um die 10-20 Leute.

Wir freuen uns auf dich.