Blog posts

Horizontal Schneiden
Methodology
Björn Geisemeyer

Agile development part 2: Breaking down requirements vertically

The starting point for the "Agile development" contributions is a project called SVG Editor. A new interaction for exporting a graphic as a PDF with a watermark is to be added to this. Figure 1 Figure 2 In the first article, I showed how user stories are broken down vertically into technical requirements, resulting in an interaction with the three

Read more "
Agil entwickeln
Methodology
Björn Geisemeyer

Agile development part 1: Looking at user stories vertically

It has been over 20 years since the Agile Manifesto was published. A lot has changed in software development since then. The previously common waterfall models have been replaced by development strategies that are far more suitable for software. Management tools such as Kanban or Scrum are now used in many companies. They provide the framework for agile

Read more "
Dependency Injection und Lifecycle
Methodology
Stefan Lieser

Dependency injection and lifecycle

The planning and implementation of dependencies is the subject of various principles. If you don't pay attention to the structure of dependencies during software development, you will quickly end up in chaos. For many developers, however, this means that they are "all over the place" with interfaces. As the CCD Academy, we take a more differentiated view of the topic and recommend the use of the

Read more "
Methodology
Stefan Lieser

Configuration of a .NET Core App without appsettings.json in Docker

Since Microsoft decided with .NET Core that .NET should also support Linux, .NET Core has been an excellent basis for applications that run in Docker. This drastically simplifies the deployment of .NET Core applications. In combination with docker-compose, deployment consists of executing the following command:

Read more "
Methodology
Stefan Lieser

Clean Architecture vs. Onion Architecture vs. Hexagonal Architecture

There are three architecture models that are repeatedly mentioned and used: Hexagonal architecture (Ports and Adapters) Onion architecture Clean architecture In our training courses, we often discuss the differences between clean architecture and onion architecture - which is better? The following section highlights the differences between the three approaches

Read more "
Methodology
Björn Geisemeyer

Exceptions: strategies and best practices

As the title suggests, in this article I will look at different strategies for dealing with exceptions. Catching or throwing an exception is easy. But how do I proceed sensibly? It is important to consider the error categories. Each exception can be assigned to an error category and handled accordingly.

Read more "
Exceptions sind keine Fehler
Methodology
Björn Geisemeyer

Why exceptions are not errors

In many companies, the topic of error handling is either not taught at all or not sufficiently. I have never been given a clear definition of what "errors" are and how I should deal with them at my workplace. This is obviously the case for many people, because this lack of knowledge leads, among other things, to the widespread bad habit of defensive programming.

Read more "
3 Arten der Fehlerbehandlung
Methodology
Stefan Lieser

3 Types of error handling

Error-free software? A pipe dream! Automated tests are standard and yet in practice there is still a lot of catching up to do when it comes to testing. Is "defensive programming" therefore an additional building block that needs to be followed? Yes and no. When we question in our training sessions whether the parameter check at the beginning of each method

Read more "
Methodology
Stefan Lieser

Optional and the IOSP

The IOSP is one of the most important principles for structuring code. IOSP stands for Integration Operation Segregation Principle. This means that methods can be divided into two categories: Integration vs. Operation. The rules are very simple: Integration May only call own methods Operation May only call external methods

Read more "
4 Gründe, keinen Clean Code zu schreiben
Methodology
Stefan Lieser

4 reasons not to write clean code

Clean code is not an end in itself. And not a dogma, as I have already stated elsewhere. The Clean Code Developer principles and practices serve to achieve values. In coding, these are primarily the values of changeability and correctness. The value of production efficiency is often also affected. In order to achieve a differentiated

Read more "
That's all there is to it.
en_USEnglish