northdan.
Read this page in English

Tehnologii

TypeScript: asigurarea de calitate scrisă direct în cod

JavaScript cu verificare de tipuri — standardul nostru implicit pentru orice cod care va trăi ani.

Costul care nu apare în nicio ofertă e cel al predării. Peste doi ani, cineva care nu a scris codul trebuie să-l modifice fără să strice nimic — iar în acel moment se vede dacă datele care circulă prin aplicație erau descrise sau doar presupuse.

TypeScript rezolvă exact asta: fiecare funcție declară ce primește și ce întoarce, iar nepotrivirile sunt oprite la compilare. Definiția tehnică e în dicționar; pagina asta e despre decizia de a-l folosi și despre migrarea codului existent.

Îl scriem implicit în orice proiect nou și îl introducem gradual în proiecte moștenite, fișier cu fișier, fără pauză de dezvoltare. Costul lui e disciplină la scriere; se plătește pe durata de viață, nu în prima lună.

Hai să vorbim despre proiectul tău

Scrie-ne pe WhatsApp sau trimite un email — vorbești direct cu un programator.

office@northdan.com · +40 752 070 247

Ce primești

Nepotriviri oprite înainte de livrare

Date lipsă, tipuri greșite și câmpuri redenumite mor la compilare, nu în ecranul unui client care sună a doua zi.

Modificări cu harta afectărilor

La orice schimbare, compilatorul arată exact ce alte zone sunt atinse, deci funcționalitățile noi se adaugă fără regresii-surpriză.

O predare mai ieftină către oricine

Tipurile descriu singure ce date circulă prin sistem, așa că un programator nou devine util în zile, nu în săptămâni de citit cod.

Unde își plătește costul

Trei situații. Aplicația care va trăi ani și va fi atinsă de mai mulți oameni. Echipa care se schimbă — angajări, plecări, un furnizor nou. Și contractul de date dintre interfață și server, unde o redenumire de câmp făcută pe server trebuie să producă o eroare vizibilă la compilare, nu un ecran gol la client.

A treia e cea subestimată. Majoritatea incidentelor pe care le primim la preluarea unui proiect nu sunt erori de logică, ci nepotriviri între ce trimite serverul și ce așteaptă interfața — exact categoria pe care verificarea de tipuri o elimină înainte de livrare.

Cum arată migrarea, pas cu pas

A spune că un produs e scris în TypeScript nu dovedește nimic despre calitatea lui, așa că nu folosim asta ca argument. Ce livrăm e planul de migrare graduală: verificările se activează fișier cu fișier, începând cu modulele critice, iar proiectul rămâne funcțional la fiecare pas.

Beneficiul se vede cel mai clar la predare. Tipurile documentează singure ce date circulă prin sistem, așa că un programator nou devine util în zile — iar asta e un argument de proprietate asupra codului, nu unul strict tehnic.

Ce costă disciplina asta

Se scrie mai mult. Declarațiile de tipuri cer timp la început și pot deveni ele însele complicate dacă cineva se lasă furat de posibilitățile limbajului — un tip greu de citit e o problemă, nu o demonstrație de măiestrie.

A doua limită: verificările opresc doar nepotrivirile de date, nu greșelile de logică, deci testele rămân necesare. Efortul unei migrări urmează mărimea codului existent și cât de amestecate sunt straturile, nu numărul de funcționalități.

Când NU are rost

La un script de o pagină, la un prototip care se aruncă după demonstrație sau la o intervenție punctuală într-un cod fără verificări, TypeScript costă mai mult decât aduce. Condiția e durata: sub câteva luni de viață utilă, disciplina nu apucă să se amortizeze.

Există și situația inversă — proiectul vechi pe care cineva vrea să îl convertească dintr-o dată, integral. Nu susținem conversia asta: factura vine înaintea oricărui beneficiu vizibil. Pagina despre JavaScript tratează celălalt capăt al deciziei, iar cea despre rescriere versus refactorizare pune criteriile pe hârtie.

Cine îl întreține după noi

TypeScript urmează îndeaproape evoluția JavaScript-ului și nu are un calendar de suport pe termen lung care să vă preseze — codul scris azi compilează și peste ani. Riscul de continuitate stă în biblioteci și în definițiile lor de tipuri, nu în limbaj.

Piața locală e largă: orice programator de JavaScript îl citește, chiar dacă nu l-a scris zilnic. Predăm configurația compilatorului, definițiile de tipuri partajate între interfață și server și regulile de verificare — cu ele, o echipă nouă poate continua fără să le redecidă.

Întrebări frecvente

Când NU are rost TypeScript?

La un script de o pagină, la un prototip aruncabil sau la o intervenție mică într-un cod care nu are deja verificări. Sub câteva luni de viață utilă, disciplina suplimentară nu apucă să se amortizeze. Peste acest prag, raportul se inversează rapid și fără excepții notabile.

Găsim ușor programatori TypeScript în România?

Da — practic orice dezvoltator de JavaScript îl citește, chiar dacă nu l-a scris zilnic, iar trecerea de la unul la altul se face în zile. E unul dintre puținele locuri unde alegerea tehnică reduce riscul de personal în loc să-l crească, pentru că tipurile explică singure codul.

Cât efort cere migrarea unui proiect existent?

Urmează mărimea codului existent și cât de amestecate sunt straturile, nu numărul de funcționalități. Migrarea graduală permite oprirea în orice punct, deci se poate planifica pe etape scurte. Intervalele pe mărimi de proiect sunt în ghidul dedicat aplicațiilor web.

Putem migra treptat codul JavaScript existent?

Da, e chiar modul recomandat: cele două coexistă în același proiect, așa că activăm verificările fișier cu fișier, începând cu modulele critice. Nu există pauză de dezvoltare și nu există un moment în care aplicația să fie pe jumătate mutată și nefuncțională.