- Por Giulio Perrone
- ·
- Publicado 17-abr-2023 10:18:38
Hechizo
Historia: Durance ha encontrado un libro de magia en una de sus aventuras y ha decidido aprender a encantar sus armas. Debido a la naturaleza..
Diseñar e implementar un software que valide una contraseña utilizando TDD.
La contraseña será introducida por el usuario (como argumento del método) y el software deberá responder si la contraseña es válida o no.
Una contraseña válida debe cumplir los siguientes requisitos:
Diseñar e implementar un software que pueda adaptarse a diferentes reglas de validación de contraseñas TDD y centrarse en los principios OOP.
Supongamos que ahora queremos crear otro tipo de validaciones de contraseñas porque en nuestra app necesitamos diferentes tipos de contraseñas, como por ejemplo:
Validación 2:
Validación 3:
En esta iteración, debemos tratar de identificar una buena abstracción y de trabajar en los principios de OOP, así como en patrones de diseño como Builder y Factory.
Usa object calisthenics.
Ahora podremos saber si una contraseña es válida o no, pero no podremos entender por qué deberíamos devolver una lista de errores para cada contraseña no válida, para poder saber por qué la contraseña no es válida.
Identifica qué tan mantenible es el código que has construido hasta ahora, y cómo se adapta a los cambios. Esta iteración podría cambiar según el lenguaje de programación que utilices.
Hasta este punto hemos podido crear una lista de reglas de validación y verificar que la contraseña pase cada una de ellas. Ahora queremos una nueva contraseña con las mismas reglas pero que permita omitir sólo una de ellas.
Validación 4
Ejemplo:
Esta contraseña es válida
Esto ayudará a reforzar la encapsulación para las listas de reglas y a tener un mejor diseño para las estrategias de validación [evitando que usemos herencia]. Esto también podría ayudarnos a trabajar en el patrón Strategy.
Historia: Durance ha encontrado un libro de magia en una de sus aventuras y ha decidido aprender a encantar sus armas. Debido a la naturaleza..
Introducción Con el propósito de practicar TDD, esta es una de las katas más avanzadas que puedes hacer. A estas alturas ya deberías dominar las..
Introducción Como un desarrollador que escribe blogs quiero una herramienta que me ayude a entender mejor el texto que estoy redactando. Para ello..
Suscríbete a nuestra newsletter para que podamos hacerte llegar recomendaciones de expertos y casos prácticos inspiradores