Programación poka-yoke


Con el nombre de poka-yoke se conoce a los dispositivos que buscan evitar errores mediante sistemas "a prueba de tontos" que garanticen la seguridad ante los usuarios, procesos o procedimientos con los que se relacione. A partir de su introducción por Shigeo Shingo, en la década de los 60, en el Sistema de Producción Toyota (como no), el uso de estos dispositivos pasó a convertirse en una técnica para asegurar la calidad en diferentes industrias.
Si llevamos este concepto a la industria del desarrollo del software, y más concretamente a la programación, podríamos hablar de diferentes conceptos o técnicas que nos permitirían ayudar a evitar errores frecuentes:
El diseño de los interfaces debe facilitar la correcta integración de los componentes
Un ejemplo claro podría ser el de los cables USB que sólo pueden enchufarse a los aparatos de forma correcta gracias al diseño de sus conectores. Estoy seguro que conocerás a alguien que a base de fuerza bruta es capaz de enchufar un cable USB de forma incorrecta, pero no me negarás que es mucho más fácil usarlos correctamente [guiño]. Siguiendo esta técnica, en nuestra industria, al diseñar los interfaces de nuestras clases o módulos deberíamos asegurar que no sea posible abusar de la API mediante el uso correcto del tipado de los argumentos en las llamadas a las funciones. Es decir, en vez de usar funciones del tipo:calculaEdadMal(String fechaNacimiento, String fechaActual), sería preferible usar una función tipada que minimice la incertidumbre sobre el correcto uso: calcularEdadBien(Date fechaNacimiento, Date fechaActual).
Ante errores, el software no debe funcionar y debe avisar inequivocamente sobre el error
Otro ejemplo de diseño de Poka-Yoke es el de los ascensores que cuando se sobrepasa el peso máximo autorizado se niega a trabajar y emite algún tipo de señal (normalmente luminosa) para avisar de que algo anda mal. En el desarrollo de software nuestras clases deberían seguir este ejemplo: cuando algo está mal no deberían permitir continuar con la ejecución, y además deberían indicar claramente qué es lo que está mal. El correcto uso de las excepciones pueden ser una manera eficaz de informar sobre estos errores.
El software debe favorecer la recuperación posterior
Otro ejemplo de diseño Poka-Yoke es [...]

>>> Ver artículo original completo en: http://www.utopicainformatica.com

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...