Mehr Test-Coverage durch Reflection

Es ist zwei Wochen vor dem geplanten Release. Alle sind euphorisch. Zum ersten Mal ist es gelungen, alle Features vor den Deadlines umzusetzen. Sogar die Intuitiv-Tester sind zufrieden mit der Qualität. Die ersten Alpha-Tests liefen ohne Probleme, und im laufenden Beta-Test kommen keine Beschwerden von den ausgewählten Erstkunden. Nach dem offiziellen Ende der Corona-Pandemie finden sich endlich alle Projektprotagonisten wieder im Großraumbüro zusammen, um den Projektmeilenstein zu feiern. Nach so langer sozialer Entbehrung fällt jeder in die Arme der Kollegen.
Read more →

Private ist nicht privat!

Private ist nicht privat – Wie Objektorientierung uns in falscher Sicherheit wiegt Wir alle kennen die Situation: Wir sollen eine Bibliothek an eine andere Abteilung oder einen Kunden liefern, aber möchten gerne die Implementierungsdetails verbergen. Manche nennen dies hochtrabend das Information Hiding Principle. In der Realität möchte man einfach die vielen Krücken und Abkürzungen verbergen, die durch Kosten- und Zeitdruck erforderlich wurden. Aber einen Schritt nach dem anderen. Wie können wir das Information Hiding Principle umsetzen?
Read more →

Unicode Apis

Mehr Orientierung in großen APIs – Dieser kleine Trick hilft jedem Programmierer Auto Completion ist eines der herausragenden Features jeder etwas fortschrittlicheren Programmierumgebung. Trotzdem kennt jeder von uns diese APIs, die einfach so viele Attribute, Namespaces und Methoden mitbringen, dass wir schlicht nicht mehr wissen, welcher Methodenaufruf denn nun der Beste ist oder typischerweise am häufigsten genutzt wird. Gerade bei generischen OS-APIs erreicht die Liste der Methoden, Namespaces und Attribute eine beträchtliche Länge, die kaum noch beherrschbar ist.
Read more →

Agile ist ineffizient

In letzter Zeit wünschen sich immer mehr Entwickler eine agile Vorgehensweise. Mehr und mehr Firmen, vor allem junge Startups, werben mit einem agilen Entwicklungsprozess. Doch ist ein derartiger Prozess wirklich sinnvoll? Dem gehen wir heute auf die Spur! Was ist überhaupt Agil? Agile ist ein Entwicklungsprozess. Das heißt, es gibt vor, wie man als Entwickler zu arbeiten hat. Die Grundidee hinter Agile war, dass Kommunikation ein sehr hilfreiches und starkes Werkzeug ist.
Read more →

Rekursion Ist Gut

Rekursion ist besser als ihr Ruf An zahlreichen Literaturstellen wie auch in Unterlagen aus dem Internet ist immer wieder die Rede davon, dass Rekursion etwas Schlechtes sei und vermieden werden soll. Gleichzeitig gibt es wahrscheinlich keine einzige Universität auf diesem Erdball, an der Rekursion nicht gelehrt wird. Diesen vermeintlichen Widerspruch, dass Dinge gelehrt werden, die man nicht nutzen soll, sind wir auf den Grund gegangen. Was ist Rekursion überhaupt? Rekursion ist in der Informatik ein Programmiertrick, bei dem sich eine Funktion oder Methode immer wieder selbst aufruft.
Read more →