Mi az ajánlott Go projekt mappaszerkezet?

jan 1, 2022
admin

A kis projektek általában nem igényelnek semmilyen struktúrát. Elinduláshoz csak main.go szükséges. Azt javaslom, hogy mindig csak egyetlen main.go mappával kezdj egy projektet.

Aztán, ha a projekted növekszik (képzeld el, rájössz, hogy most már két binárisra van szükséged), az általános megközelítés a cmd/ mappa hozzáadása. Ez persze lehet bármilyen dir, de a cmd olyasmi, amit minden gopher azonnal felismer a projektben.

Aztán, amint a kódbázisod növekszik, elkezdesz több “.go” fájlt és több csomagot hozzáadni – ezek mindegyike külön alkönyvtárban lesz (definíció szerint). És itt sok újonc összezavarodik, és más nyelvekből vagy keretrendszerekből hoz strukturálási mintákat.

Sok más nyelven a könyvtárat fájlok “névtáblázására” használják, mint handlers vagy models, de a Go-ban a könyvtár egy külön csomag (pl. könyvtár). Tehát a “mappák strukturálása” a Go-ban valójában azt jelenti, hogy “hogyan és mikor absztrahálod a kódot alcsomagokra”.

De általában nem gondolkodsz a repo strukturálásán, hacsak a kódbázisod nem kéri (pl. túl sok fájl, nyilvánvaló absztrakciók, amelyek újrafelhasználhatók és elszigetelhetők a saját csomagjukban, stb).

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.