Două tipuri de erori: una e bug, alta e surpriză
Programatorii împart erorile în două: cele care pot fi reparate și cele care trebuie acceptate.

Programatorii împart erorile în două: cele care pot fi reparate și cele care trebuie acceptate.
Eroare vs. Eroare
În programare există două tipuri fundamental diferite de erori. Primul este bug-ul: ați scris ceva greșit și programul crapă. Al doilea este incertitudinea: nu puteți prezice ce va introduce utilizatorul sau ce răspuns va da API-ul. Primul e vina voastră, al doilea e realitatea.
Cum le deosebim?
- Bug:
TypeError: undefined is not a function. Ați uitat să verificați dacă obiectul există. - Surpriză: utilizatorul a introdus un emoji în câmpul pentru numărul cardului. Nu v-ați așteptat, dar nu e un bug — e viața.
Mulți developeri începători încearcă să gestioneze toate scenariile posibile, transformând codul într-o fortăreață cu sute de if. Dar adevărul e că unele erori trebuie doar logate și lăsate în urmă. Altfel, codul vostru va semăna cu o mobilă IKEA fără instrucțiuni — veți adăuga piese până când nu mai aveți șuruburi.
Ce facem?
- Pentru bug-uri: teste, code review, monitorizare.
- Pentru surprize: validare la intrare, valori de fallback și acceptarea că nu sunteți zei.
Comentariul echipei METABYTE: Și nouă ne place să prindem bug-uri, dar surprizele de la utilizatori sunt o artă separată. Vreți mai puține surprize? Să discutăm validarea și gestionarea erorilor la următorul apel — cafeaua e pe noi.
URMATORUL PAS
Ti-a placut abordarea?
Aplicam aceleasi principii in proiectele clientilor: AI, automatizari, produse care nu se sting dupa lansare.