Programació defensiva: lliçons d'un vàter i el flag isProcessing
Descobreix com la programació defensiva i l'ús de flags en JavaScript poden protegir la integritat de les teves aplicacions, basant-se en la lògica del món real.

La lògica darrere d'una interfície robusta
Què tenen en comú el panell de control d'un vàter al Japó i una variable d'estat en JavaScript? Encara que sembli una comparació inusual, ambdós sistemes resolen el mateix problema fonamental: la gestió de la incertesa. Com a desenvolupador en formació i conductor de camions, he après que el disseny de programari eficaç sovint es basa en principis de programació que ja existeixen en la nostra vida quotidiana.
En desenvolupar la meva aplicació DPT (Driver Personality Test), vaig notar que si un usuari premia ràpidament els botons de resposta, l'aplicació avançava de forma erràtica. Per evitar això, vaig implementar un simple flag anomenat isProcessing.
El poder de la programació defensiva
La implementació és senzilla però vital. En establir isProcessing = true a l'inici d'un esdeveniment i tornar-lo false en finalitzar, bloquegem qualsevol entrada addicional durant el procés. Això no només evita registres duplicats, sinó que assegura que la interfície no es trenqui sota estrès. És l'equivalent digital a la llum parpellejant d'un vàter que, en activar-se, ens indica que el sistema està ocupat i no acceptarà més pulsacions.
"No assumeixis que l'usuari es comportarà de forma perfecta. Dissenya per a la possibilitat que passi allò inesperat".
De les carreteres al codi
Com a conductor professional, aplico aquesta mateixa filosofia a la carretera. La distància de seguretat que mantinc amb altres vehicles és, en essència, un buffer de seguretat per reaccionar davant d'esdeveniments impredictibles. En el desenvolupament de programari, la programació defensiva fa el mateix: crea un marge de maniobra davant d'errors de xarxa, pulsacions múltiples o fallades en l'API. Si t'interessa aprofundir en com l'arquitectura moderna ajuda a gestionar aquests fluxos complexos, pots consultar la nostra guia sobre el Desarrollo de Agentes de IA con el nuevo Go ADK: Guía 2026.
Millors pràctiques: més enllà del flag booleà
Encara que un booleà és suficient per a tasques petites, els projectes de major escala requereixen un enfocament més estructurat. Aquí tens alguns consells per millorar el teu codi:
- Fes servir
try...finally: Assegura't que l'estatisProcessingtorni afalsefins i tot si ocorre un error, evitant que la interfície quedi bloquejada permanentment. - Modelatge d'estats: En lloc de simples flags, considera un objecte d'estats (
IDLE,SAVING,ERROR) per tenir un control total sobre el cicle de vida de l'aplicació. - Feedback visual: Com vaig aprendre amb les animacions ripple, una resposta visual clara redueix l'ansietat de l'usuari i evita que aquest premi el botó repetidament per pura incertesa.
Conclusió
L'excel·lència en el desenvolupament no només resideix a escriure codi elegant, sinó a anticipar com el món real —amb els seus usuaris impacients i connexions inestables— interactuarà amb la teva creació. Igual que el manteniment d'un camió o l'ús d'un panell de control, el programari ha de ser resilient per disseny. La propera vegada que t'enfrontis a un problema d'interfície, pregunta't: quina llum parpellejant o quin flag necessito per protegir el meu sistema?
Font original: Dev.to
Articles relacionats
9 de septiembre de 2026
Dominant Microsoft Entra: Guia essencial per a la certificació SC-900
Aprèn els pilars de la identitat al núvol, des de la gestió d'accessos fins al Conditional Access, clau per aprovar la certificació SC-900.
1 de septiembre de 2026
Nori Robotics: Democratitzant la programació de robots humanoides
Nori Robotics llança un robot humanoide bimanual per menys de 1.700 dòlars, amb l'objectiu de democratitzar la investigació en robòtica i la intel·ligència artificial.
25 de agosto de 2026
Phonebook: El catàleg open source per previsualitzar UI mòbil
Descobreix Phonebook, l'eina open source que converteix les teves vistes prèvies de SwiftUI i Compose en un catàleg visual estàtic per a tot el teu equip.
18 de agosto de 2026
Agents d'IA: El nou repte de seguretat en la programació moderna
Els agents autònoms d'IA transformen la ciberseguretat: quan el model de raonament es converteix en el vector d'atac, l'arquitectura ha de canviar.
Carregant comentaris...