Artikel
Compiler support for switch-case error detection
Not adding a default label to the switch-case statement improves the C++ code quality. The normal use case for a switch-case is over an enum like in the example below.
enum class Op { Addition, Subtraction, }; double execute(Op op, double left, double right) { switch (op) { case Op::Addition: return left + right; case Op::Subtraction: return left - right; } return {}; } All the enum options have to be considered in the switch-case (if this is not the case then probably something else is a bit smelly in the code).
read more
Artikel
Auftakt Weiterbildungskurs Security in Embeeded Systems
Gestern war der Auftakt des Kurses Security in Embeeded Systems an der ZHAW Zürcher Hochschule für Angewandte Wissenschaften. Ich konnte durch den Input von Simon Künzli und den Diskussionen mit meinen Kommilitonen bereits einen differenzierteren Blick auf die kommenden Anforderungen des Cyber Resilience Act (CRA) der EU gewinnen.
Speziell interessiert mich, wie wir als Open Source Community im Embedded Linux Umfeld das Thema gemeinsam umsetzen können.
read more
Artikel
Effizienz durch Exzellenz
Aufgrund mangelnder Zeit im Projekt benötigten wir wesentlich mehr Zeit für die Implementierung der Features.
Dieses paradoxe Phänomen tritt häufig in der Softwareentwicklung auf. Entwickler stehen unter Zeitdruck und sehen sich gezwungen, schnelle Lösungen zu implementieren, anstatt sich Zeit zu nehmen, diese zu planen und so zu implementieren, dass die Software nachhaltig erweiterbar ist. Dies führt zu schlechter Codequalität und unzureichender Testabdeckung, die später mehr Zeit und Ressourcen erfordern, um sie zu beheben.
read more
Artikel
Erste Schritte mit cucumber-cpp
Cucumber-cpp bietet die Infrastruktur um Behaviour Driven Development (BDD) mit C++ oder C zu machen. In diesem Beitrag zeige ich wie du deinen Akzeptanztest mit cucumber-cpp implementierst.
Umsetzen wollen wir ein Lauflicht. Einerseits ist es eine genug kleine Aufgabe, anderseits sind Lauflichter einfach cool. So ein Lauflicht hat zwar nicht wirklich viel Verhalten (Behaviour), aber es geht hauptsächlich um die Infrastruktur. Natürlich kann man so ein Lauflicht auch noch beliebig kompliziert machen.
read more