Cinta de pintor y tolerancia a fallos

Recortando la parte superior del boletín Top of the Month de Nicholas C. Zakas (¡suscríbete!), con permiso.

Una de mis cosas favoritas en el mundo es la cinta de pintor (también llamada cinta adhesiva). Parece una tontería: una especie de cinta adhesiva que pone en la pared cuando estás pintando para evitar que la pintura se manche. La cinta no tiene un adhesivo fuerte, por lo que se puede retirar de la pared sin dañarla. Lo que me encanta de la cinta de pintor es la filosofía detrás de ella: pintar es desordenado y, en lugar de tratar de evitar ensuciar, la cinta de pintor te permite ensuciar inicialmente y luego limpiarlo fácilmente. Incluso el mejor y más talentoso pintor salpicará un poco de pintura aquí y allá, se distraerá o terminará con la pintura yendo a donde no debería. Es mucho más rápido, más fácil y menos frustrante usar cinta de pintor para cubrir áreas donde es probable que se vaya la pintura y luego quitar la cinta para crear un área agradable, limpia y terminada. ¿Qué tiene esto que ver con la ingeniería de software?

La cinta de pintor tiene que ver con un concepto llamado tolerancia a fallas. En lugar de esperar que todo salga bien, espera que haya errores. Cuando espera que haya errores, toma decisiones no para evitar todos los errores sino para recuperarse fácilmente cuando ocurre un error. ¿Tienes pintura donde no debería estar? No importa si ese lugar estaba cubierto con cinta de pintor. ¿Olvidaste poner la cinta de pintor? Ahora ese error es un problema mayor. Como ingenieros de software, podemos pensar de la misma manera con el código que escribimos.

Hacer que su código sea tolerante a fallas consiste en hacerse la pregunta: ¿cómo fallará esto? No si fracasará, sino suponiendo que fracase, y ¿de qué manera fracasará?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir