pregătiți mediul de dezvoltare

primul lucru în primul rând, configurați mediul de dezvoltare. Îmi amintesc încă când încep călătoria mea de dezvoltare, perioada cea mai dureroasă a fost înființat mediul de dezvoltare, special ca acest tip de proiect (mai mult de 3 sisteme), avem nevoie pentru a descărca diferite servicii (jar, binar, etc.) în scopul de a-l deschide rulează la nivel local, cu toate acestea, Vă mulțumim pentru tehnologia container, prin utilizarea simplu docker-compose.fișier yml, putem bootstrap toate aplicațiile cheie / componente avem nevoie.

vezi, cât de simplu este?

dezvoltare / codificare

să începem partea distractivă, du-te este limbajul meu recent de dezvoltare premiera, dar de ce am ales să merg pentru dezvoltarea conductei de date, din cauza simplității sale, performanțele și tipul în condiții de siguranță. Aici Nu voi explica beneficiul Go, dacă sunteți interesat, vă rugăm să verificați Golang.org.

ca de obicei, dacă verificați postul meu anterior

Cum de a construi o MachineBox.io API cu 100% unitate de acoperire de testare prin utilizarea Go

veți ști, voi folosi aceeași structură de aplicare.

1. Construiți conexiunea prin crearea Struct Env

2. Utilizarea interfețelor

este posibil să fiți familiarizați cu utilizarea interfețelor de la lucrul prin walkthrough Go sau din documentația oficială. Cu toate acestea, frumusețea utilizării interfețelor în Go, este că puteți defini un set de metode pe care un tip (adesea struct) trebuie să le definească pentru a fi considerat o implementare a acelei interfețe.

când orice tip dat implementează toate metodele acelei interfețe, compilatorul Go știe automat că este permis să fie utilizat ca acel tip.

3. Logare

logare este greu!

dacă ați lucrat deja ca suport de producție cerere funcție relativă. Veți aprecia dezvoltatorul care înregistrează informațiile despre modul în care rulează aplicația, când și cum a eșuat această aplicație, ce fișier, ce funcție. (Un Plus+)

exemplu de logare

eu folosesc Uber zap libs. Și am, de asemenea, înveliți într-un ajutor care poate fi utilizat în diferite proiecte de nivel diferit. Pentru mine, prefer să returnez eroarea pârghiei inferioare la implementarea principală.

punerea în aplicare logare

4. Unitate de testare

scriere teste unitare pot asigura codul nostru este de lucru cum era de așteptat, este mult mai puțin „scump” decât în cazul în care un bug sau regresie face tot drumul la o versiune.

dacă vă amintiți încă implementarea interfeței #1, iar celălalt beneficiu al implementării interfeței este să vă ajute să scrieți cu ușurință cod testabil.

exemplu unul dintre unitatea de testare

unitatea de acoperire de testare este un subiect interesat, am folosi pentru a destul de nebun pentru a urmări acoperirea de 100%, Cu toate acestea, am învăța lecțiile mele, Cel mai important despre unitatea de testare este:

cât de încrezător sunteți despre codul dvs. și asigurați-vă că automatizarea CI/CD prinde cât mai mult posibil bug-urile de regresie a nivelului de codificare.

go test-cover

Rezultat final

rezultat final — gif

faza de sprijin

această conductă este construit doar peste week-end, să spunem, 10 ore de proiectare totală, dezvoltare/codificare. Din cauza acoperire unitate de testare, logare, și testul de integrare locală. Cu toate acestea, sunt destul de încrezător că este pregătit pentru producție…

faza de îmbunătățire

singurul lucru care lipsește aici este implementarea securității, nivelul mediului și nivelul codului. aceasta este cea mai importantă parte dacă doriți să expediați la producție.

acest articol se concentrează în principal pe proiectarea și construirea. Următoarea postare se va concentra mai mult pe sprijin și îmbunătățire. 🙂

Partea 2:

Lasă un răspuns

Adresa ta de email nu va fi publicată.