Was ist die empfohlene Go-Projekt-Ordnerstruktur?

Jan 1, 2022
admin

Kleine Projekte brauchen normalerweise keine Struktur. Alles, was man zum Start braucht, ist nur main.go. Ich empfehle, ein Projekt immer mit einer einzigen main.go-Datei zu beginnen.

Wenn das Projekt dann wächst (stellen Sie sich vor, Sie merken, dass Sie jetzt zwei Binärdateien haben müssen), ist es üblich, einen cmd/-Ordner hinzuzufügen. Es kann natürlich ein beliebiges Verzeichnis sein, aber cmd ist etwas, das jeder Gopher sofort im Projekt erkennt.

Dann, wenn Ihre Codebasis wächst, fangen Sie an, mehr „.go“-Dateien und mehr Pakete hinzuzufügen – jedes von ihnen wird in einem eigenen Unterverzeichnis sein (per Definition). Und hier werden viele Neulinge verwirrt und bringen Strukturierungsmuster aus anderen Sprachen oder Frameworks mit.

In vielen anderen Sprachen wird das Verzeichnis für „Namespacing“ von Dateien verwendet, wie handlers oder models, aber in Go ist das Verzeichnis ein separates Paket (d.h. eine Bibliothek). Also bedeutet „Strukturierung von Verzeichnissen“ in Go eigentlich „wie abstrahiert man Code in Unterpakete und wann“.

Aber im Allgemeinen denkt man nicht über die Strukturierung des Repos nach, es sei denn, die Codebasis verlangt danach (d.h. zu viele Dateien, offensichtliche Abstraktionen, die wiederverwendet und in einem eigenen Paket isoliert werden können, usw.).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.