Stabile Builds
Steigt die Anzahl an entwickelten Komponenten, wird ein konsistenter Buildprozess immer wichtiger. Versionsunterschiede der genutzten Sprache bzw. unterschiedliches Setups auf den Entwicklermaschinen führen unter Umständen zu fehlerhaften Ergebnissen und Build Artefakten.
Die Integration externer Libraries in den eigenen Code ist absolut üblich. Nur sollten diese Libraries ebefalls näher untersucht werden. Schliesslich werden deren Funktionalitäten in die eigene Anwendung integriert. Ein Entwickler kann zwar seinen eigenen Code absichern, kann aber nichts an Lücken ändern, die sich mit Fremdbibliotheken in den Code eingeschlichen haben. Die Kontrolle von Build-Manifests der jeweiligen genutzen Sprache und sprachspezifischen Lintern senken die Wahrscheinlichkeit von importierten Sicherheitslücken und zeigen entsprechende Probleme früh auf.
Der Code selbst sollte nach gewissen Konventionen geschrieben sein, die alle Programmiersprachen mit sich bringen. Die Einhaltung dieser Coding-Guidelines sorgt nicht nur für generell einheitlichen Code, sondern ermöglicht auch einen schnellen Einstieg neuer Entwickler in bestehende Software. Mit zusätzlichen Codeanalysen, z.B. zyklomatischen Komplexität, verhindern Sie frühzeitig unnötig komplexen Code, welcher nur schwer zu warten ist. Automatisch ausgeführte Unittests sollten, wenn verfügbar, immer ausgeführt und überprüft werden.
Die Liste an Möglichkeiten den eigenen Code zu pflegen und zu analysieren ist lang und geht meist mit einer ganzen Toolchain an Helfern einher. Ich unterstütze Sie beim Setup geeigneter CI/CD Systeme und deren Konfiguration, dem Aufbau von Build-Pipelines und Workflows bis hin zum Artefakt Management und Deployment.