eduardweb.
TypeScriptIntermediar#typescript#strict-mode#best-practices

TypeScript strict mode — de ce merită să-l pornești chiar și pe proiecte vechi

De Delia Petre, 21 apr. 2026 · 3 vizualizări · 2 like-uri

Postat acum 1 zi

Strict mode a devenit standardul de facto în 2026. Dacă încă rulezi cu "strict": false, pierzi cel mai ieftin layer de siguranță pe care îl ai.

Ce e "strict" în TypeScript

Activează 7 flags simultan:

  • noImplicitAny
  • strictNullChecks
  • strictFunctionTypes
  • strictBindCallApply
  • strictPropertyInitialization
  • alwaysStrict
  • noImplicitThis

90% din bug-urile "nu știu de ce e null acolo" sunt prinse de strictNullChecks singur.

Cum migrezi un proiect mare

Big-bang nu merge. În schimb:

  1. Pornești cu strict: true + noEmitOnError: false
  2. Rulezi tsc --noEmit → ai 800 erori. Nu panichează.
  3. Activezi per-fișier: creezi un tsconfig.strict.json și rulezi doar pe fișierele refactorizate recent
  4. Orice fișier nou e obligatoriu în mode strict (linter rule)
  5. În CI, numărul de erori scade săptămânal — dacă crește, PR-ul e respins

Flags pe care le adaug peste strict

  • noUncheckedIndexedAccess — accesele arr[0] devin T | undefined, forțează check-uri
  • exactOptionalPropertyTypes — diferență reală între undefined și "missing"
  • noImplicitOverride — obligatoriu în clase când supraîncarci o metodă

Rezultatul după 6 luni

Pe un proiect de ~80k linii: -63% bug-uri de runtime, -40% timp pe code review (reviewer nu mai vânează null-uri). Costul: ~3 săptămâni de cleanup inițial.

Răspunsuri 0

Se încarcă răspunsurile…

Loghează-te pentru a răspunde

Doar membrii comunității pot lăsa comentarii.