State-of-the-Art Softwareprojekte mit „dotnet new“ Templates

Noch schneller, noch besser: mit „dotnet new“ Templates Softwareprojekte optimieren

Gepostet von Sandro C. am 15.04.2021

.Net QS BestPractice

Als Anbieter für Individualsoftware sind wir Expert:innen für massgefertigte IT-Lösungen. Das heisst aber nicht, dass wir keine vorgefertigten oder standardisierten Elemente verwenden. Im Gegenteil: Sich an Best Practices zu halten und Vorlagen oder wiederverwendbare Komponenten einzusetzen, ist ein entscheidender Kosten- aber auch Sicherheitsfaktor für erfolgreiche Softwareprojekte.

Jedes einzelne Teammitglied, das an einem Projekt arbeitet, bringt eine zusätzliche individuelle Perspektive in die Softwareentwicklung ein. Entwickler haben unterschiedliche Erfahrungen, Programmierstile und Problemlösungsansätze. Eine besonders grosse Bedeutung hat daher der Beginn eines Projekts, also gewissermassen das Legen des Fundaments. Noch bevor das erste Requirement des Kunden implementiert wird, muss festgelegt werden, welche Technologien bei diesem Projekt verwendet werden und wie diese miteinander interagieren. Dieses Fundament gibt den Rahmen für den zu diesem Zeitpunkt absehbaren Software-Lebenszyklus vor. Die dafür nötigen Basics lassen sich standardisieren sowie dank des dotnet new Befehls auch automatisieren.

Microsoft stellt mit den .NET Core SDK vordefinierte Templates bereit. Darüber hinaus kann man auch eigene Templates laden und über die dotnet CLI benutzen. Für das Erstellen eines eigenen Templates gibt es eine Anleitung von Microsoft. Den Code für die im SDK mitgelieferten Templates findet man in diesem Repository. Letztes Jahr haben wir für uns intern mit der Entwicklung eigener Templates begonnen und diese bereits mehrmals eingesetzt. Sie standen somit am Anfang unserer jüngsten Kundenprojekte. Zu Beginn bestanden diese Templates noch aus den essenziellsten Elementen, die uns eingefallen sind, da sie in fast jedem Projekt vorkommen. Aber mit jedem neuen Projekt, das aus den Templates entstand, wurden neue Elemente identifiziert, die wir ebenfalls oft benötigen. Diese Elemente wurden standardisiert und flossen so zurück ins Template, damit sie beim nächsten Projekt bereits von Anfang an zur Verfügung stehen.

Das Ziel dieses Ansatzes ist es, in diesem Bereich ein klassisches Verhalten und Vorgehen von Softwareentwicklern umzudrehen. Wir sehen nicht bei früheren Projekten nach, wie etwas bereits einmal implementiert wurde, um dann einen Nachbau in die aktuelle Lösung einzupassen. Vielmehr sollen diese Grundlagen im Fundament von Anfang an in einem Satz aus häufig verwendeten Elementen zur Verfügung stehen. Das funktioniert, weil es in den meisten Fällen einfacher ist, etwas, das nicht gebraucht wird, wieder zu entfernen, als ein komplett neues Feature einzubauen – und zwar egal, wie viel von dessen Implementierung bereits bekannt ist. Ein weiterer Vorteil: Diese Elemente entsprechen bei Projektbeginn garantiert immer dem neusten Stand unserer Erkenntnisse, weil das Template für das Fundament kontinuierlich verbessert wird.