Dienstag, 29. Oktober 2019

11. November: Design by Contract & Error Handling Revisited

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

  1. Begrüssung
  2. "Design by Contract" von Dominik Berner
  3. "C++ Error Handling Revisited" von Raphael Meyer
  4. Apéro


Ort



Datum

Montag 11.11.2019, 19 - 21 Uhr (Anschliessend Apéro)


Anmeldung

Erfolgt über die Veranstaltung unserer Xing Gruppe C++ Usergroup Zentralschweiz, über  den Meetup Event oder über das Kontaktformular auf dieser Webseite.


Es sind alle herzlich Willkommen die gerne mit C++ programmieren. Egal ob Anfänger oder Experte.

Keine Kommentare:

Kommentar veröffentlichen