Nachdem du den Track mit den ersten 20+ Übungen und einem Test-Runner gestartet hast, sollte der Fokus darauf liegen, weiteres Track-Tooling zu implementieren.
Es gibt zwei Arten von Tooling für einen Track:
Für die Produktion gibt es (derzeit) drei Tools:
Um die Pflege des Tracks zu erleichtern, kannst du außerdem Folgendes bauen:
Die Tools für die Produktion sind wichtiger als die Tools für die Wartung. An diesem Punkt solltest du einen Test-Runner implementiert haben. Falls nicht, schau in die Dokumentation zum Erstellen eines Test-Runners.
Wenn du einen Test-Runner gebaut hast, ist der Representer das nächste Tool, an dem du arbeitest. Die Ziele von Representer und Analyzer überschneiden sich teilweise, aber wir empfehlen, zuerst den Representer zu bauen, und zwar aus folgenden Gründen:
Wie du mit dem Bau eines Representers beginnst, erfährst du im Dokument Einen Representer von Grund auf erstellen.
Nachdem du einen Representer implementiert hast, ist der Analyzer das letzte Tool, das du baust. Wie du mit dem Bau eines Analyzers beginnst, erfährst du im Dokument Einen Analyzer von Grund auf erstellen.
An diesem Punkt sollte sich der Fokus wahrscheinlich wieder darauf richten, mehr Übungen hinzuzufügen. Um neue Übungen schneller hinzuzufügen, kannst du dir überlegen, einen Test-Generator zu bauen.
Das Tooling für einen Track ist normalerweise (größtenteils) in der Programmiersprache des Tracks geschrieben.
Du kannst zwar andere Programmiersprachen verwenden, aber jede zusätzliche Sprache macht es schwieriger, den Track zu pflegen oder zu ihm beizutragen. Deshalb empfehlen wir, wo möglich die Programmiersprache des Tracks zu verwenden, weil das die Pflege und das Beitragen erleichtert.
Die Tools für die Produktion werden als Docker-Container gepackt und ausgeführt. Docker-Images des Toolings werden automatisch über einen GitHub-Actions-Workflow ausgerollt.
Die Tools für die Wartung werden nicht ausgerollt.