Teswirler (4)

Ýüklenýär...
User Avatar

Software Engineer | Creator

GOWY PRAKTIKALAR GOWYMY? | Golang Proýektiň strukturasy. (Türkmençe) 🇹🇲

2 minut alar

Proýektiň strukturasy.
Finding The Best Go Project Structure - Part 2

Şu interfeýsi nirede ýerleşdirmeli, biznes logikanyň papkasyna näme at bermeli, modulleri bir paketde ýerleşdirsem, ýa aýry gurnasam.

Şu soraglaryň barsy haçan-da siz ulyrak proýekt bilen işleşip başlasaňyz gelýär.
Aslynda siziň özüňize rahat gelýän strukturany ullanmaga hiç kim gadagan edenok. Go-da standart däl struktura bolmaklyk erbet däl. Şonda-da Go diliň kommýunitisinde belli bir Gowy Praktikalar yglan edildi. Beýeli programmistlere koduňyzy düşünmek has ýeňil bolýar.

Geliň giňişleýin göreliň.

- cmd - şu ýerde main.go faýlymyz ýerleşýär, programma şu ýerden sazlanýar, belli bir argumentler goşulyp sistemany işletmek komandasy ýerine ýetirrilýär. Esasy programmanyň logikasy şu ýerde ýazylmaýar.
- internal - beýleki papkalardan aýratyn, sebäbi içindäki ýerleşýän kody we biznes logikasyny diňe şu programmada ullanyp, başga programmalarda çagyrylyp bilmeýär. Gorogly papka diýsek hem bolýar. Şonuň üçin hem esasy route-leri we handler-leri şu ýerde ýazýarys.
- pkg - şu ýerde bolsa tersinde, häzirki programma göni degişli bolup durmaýan kodlar ýerleşýär we şu kodlary beýleki proýektlerde täzeden ullanyp bolýar. Helper, middleware, we umuman gizlin däl logika ýerleşýär.
- vendor - bu papka diňe wendor režime geçeňizde çykýar, ol bolsa hemme baglanşyklaryňyzy we ullanýan kitaphanalary öz içinde saklaýar.
- api - Swagger, Proto we beýleki API shemalar ýerleşdirmeli
- web - js, css, html, ýaly statiki web faýllar we şablonlar üçin
- config - programmanyň sazlamalary
- scripts - proýekty ýygnamak, analiz etmek ýa gurnamak üçin skriptler
- build - Dockerfile ýa-da CI/CD konfigleri
- deployments - deploý-a degişli faýllar,  docker-compose, kubernetes/helm, mesos, terraform
- test - test faýllar ýerleşýär
- docs - dokumentasiýa ýa-da başga bir peýdaly faýllar durýar
- tools - pkg we internal paketlardan bagly bolmadyk goşmaça instrumentleriň kody goýup bolar
- examples - programmaňyzyň ýa-da kitaphanaňyzyň ulanylyşyň mysallary ýerleşýär
- third_party - proýekte degişli däl goşmaça intrumentler, SwaggerUI we GraphQL konsoly
- assets - suratlar, ikonkalar, logotipler.
Elbetde ähli papkalary ullanmak hökman däl, şu struktura boýunça näme zady nirede ýerleşdirmegini we nireden tapmalygyny bilýäňiz.

Türkmençe Golang sapaklary. Programmirleme. Koding. Go. Turkmence backend development.

 

28 |