Blogbeiträge

Horizontal Schneiden
Methodik
Björn Geisemeyer

Agil Entwickeln Teil 2: Anforderungen vertikal zerlegen

Ausgangspunkt der “Agil entwickeln” Beiträge ist ein Projekt namens SVG Editor. Diesem soll eine neue Interaktion, zum Export einer Grafik als PDF mit Wasserzeichen, hinzugefügt werden. Abbildung 1 Abbildung 2 Im ersten Artikel habe ich gezeigt, wie User Stories vertikal zu technischen Anforderungen zerlegt werden.Das Ergebnis war eine Interaktion mit den drei

Weiterlesen »
Agil entwickeln
Methodik
Björn Geisemeyer

Agil entwickeln Teil 1: User Stories vertikal betrachten

Über 20 Jahre ist es her, dass das Agile Manifest veröffentlicht wurde. Seitdem hat sich in der Softwareentwicklung einiges geändert. Die früher üblichen Wasserfallmodelle wurden durch Entwicklungsstrategien ersetzt, die für Software weitaus angepasster sind. Management-Tools wie Kanban oder Scrum sind mittlerweile in vielen Firmen vertreten. Sie stellen den Rahmen für die agile

Weiterlesen »
Dependency Injection und Lifecycle
Methodik
Stefan Lieser

Dependency Injection und Lifecycle

Planung und Umsetzung von Abhängigkeiten sind das Thema diverser Prinzipien. Wer bei der Softwareentwicklung nicht auf die Struktur der Abhängigkeiten achtet, landet schnell im Chaos. Für viele Entwickler bedeutet das allerdings, dass sie „überall“ Interfaces einziehen. Als CCD Akademie betrachten wir das Thema etwas differenzierter und empfehlen den Einsatz des

Weiterlesen »
Methodik
Stefan Lieser

Konfiguration einer .NET Core App ohne appsettings.json in Docker

Seitdem Microsoft sich mit .NET Core dazu entschlossen hat, dass .NET auch Linux unterstützen soll, eignet sich .NET Core ganz hervorragend als Basis für Anwendungen, die in Docker ausgeführt werden. Damit wird das Deployment von .NET Core Anwendungen drastisch vereinfacht. In Kombination mit docker-compose besteht ein Deployment darin, den folgenden Befehl auszuführen:

Weiterlesen »
Methodik
Stefan Lieser

Clean Architecture vs. Onion Architecture vs. Hexagonale Architektur

Es gibt drei Architekturmodelle, die immer wieder genannt und angewandt werden: Hexagonale Architektur (Ports and Adapters) Onion Architecture Clean Architecture In unseren Trainings wird immer wieder diskutiert, wo die Unterschiede liegen: Clean Architecture vs. Onion Architecture – welche ist besser? Im Folgenden wird beleuchtet, worin sich die drei Ansätze unterscheiden

Weiterlesen »
Methodik
Björn Geisemeyer

Exceptions: Strategien und Best Practices

Wie der Titel schon vermuten lässt, werde ich in diesem Beitrag verschiedene Strategien für den Umgang mit Exceptions beleuchten. Eine Exception zu fangen oder zu werfen ist einfach. Aber wie gehe ich sinnvoll vor? Wichtig ist die Berücksichtigung der Fehlerkategorien. Jede Ausnahme kann einer Fehlerkategorie zugeordnet und entsprechend behandelt werden.

Weiterlesen »
Exceptions sind keine Fehler
Methodik
Björn Geisemeyer

Warum Exceptions keine Fehler sind

Das Thema Fehlerbehandlung wird in vielen Unternehmen nicht oder ungenügend vermittelt. Ich habe an meinen Arbeitsplätzen nie eine klare Definition bekommen, was “Fehler” sind und wie ich damit umgehen sollte. So geht es offensichtlich vielen, denn diese Wissenslücke führt unter anderem zu der verbreiteten, schlechten Angewohnheit, die sich defensive Programmierung

Weiterlesen »
3 Arten der Fehlerbehandlung
Methodik
Stefan Lieser

3 Arten der Fehlerbehandlung

Fehlerfreie Software? Ein Wunschtraum! Automatisierte Tests sind Standard und dennoch gibt es in der Praxis beim Thema Tests noch einiges aufzuholen. Ist deshalb die „Defensive Programmierung“ ein zusätzlicher Baustein, den es zu befolgen gilt? Ja und Nein. Wenn wir in unseren Trainings hinterfragen, ob die Parameterprüfung am Beginn jeder Methode

Weiterlesen »
Methodik
Stefan Lieser

Optional und das IOSP

Mit dem IOSP steht eines der wichtigsten Prinzipien zur Verfügung, um seinen Code zu strukturieren. IOSP steht für Integration Operation Segregation Principle. Damit ist gemeint, dass Methoden in zwei Kategorien einzuteilen sind: Integration vs. Operation. Die Regeln sind sehr einfach: Integration Darf nur eigene Methoden aufrufen Operation Darf nur fremde

Weiterlesen »
4 Gründe, keinen Clean Code zu schreiben
Methodik
Stefan Lieser

4 Gründe, keinen Clean Code zu schreiben

Clean Code ist kein Selbstzweck. Und kein Dogma, wie ich an anderer Stelle bereits festgestellt habe. Die Clean Code Developer Prinzipien und Praktiken dienen dazu, Werte zu erreichen. Beim Codieren sind dies primär die Werte Wandelbarkeit und Korrektheit. Betroffen ist häufig auch der Wert der Produktionseffizienz. Um zu einer differenzierten

Weiterlesen »
Aus die Maus, mehr gibt's nicht.
de_DEGerman