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