Care este structura de foldere recomandată pentru un proiect Go?
Proiectele mici de obicei nu au nevoie de nicio structură. Tot ce aveți nevoie pentru a începe este doar main.go
. Vă recomand să începeți întotdeauna un proiect cu un singur fișier main.go
.
Apoi, odată ce proiectul crește (imaginați-vă, vă dați seama că acum trebuie să aveți două binare), abordarea obișnuită este să adăugați folderul cmd/
. Poate fi orice dir, desigur, dar cmd
este ceva pe care fiecare gopher îl recunoaște imediat în proiect.
Apoi, odată ce baza de cod crește, începeți să adăugați mai multe fișiere „.go” și mai multe pachete – fiecare dintre ele va fi într-un subdirectoriu separat (prin definiție). Și aici au fost mulți nou-veniți devin confuzi și aduc modele de structurare din alte limbaje sau framework-uri.
În multe alte limbaje, directorul este folosit pentru „namespacing” o grămadă de fișiere, cum ar fi handlers
sau models
, dar în Go, directorul este un pachet separat (adică o bibliotecă). Așadar, „structurarea dosarelor” în Go înseamnă de fapt „cum abstractizezi codul în subpachete și când”.
Dar, în general, nu te gândești la structurarea repo-ului decât dacă baza ta de cod o cere (adică prea multe fișiere, abstracțiuni evidente care pot fi refolosite și izolate în propriul pachet etc.).
.