METABYTE
Inapoi la articole

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.

9 mai 20262 min de citit
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.

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.