Cita:
|
Lo que no me ha gustado, es tener que mantener el programa TEST, es decir, si elimino métodos de una clase, tendría que actualizar el programa TEST.
|
Creelo o no es una ventaja... Porque piensas en eso? Ese es un efecto colateral beneficioso de tener una suite de test... Simple y llanamente corrobora que tan testeable es el codigo actual, si es modular, si esta separado la GUI de la logica de negocios del acceso a datos y de las utilerias.
Por otro lado, al menos cuando se estan creando las clases al principio, el pensar en mantener dos sistemas ayuda en ser mas cuidadoso y seguir un buen estilo de desarrollo, el estilo
KISS (siglas en ingles para "Mantenlo simple, estupido!") y ayuda a limitarse a hacer solo lo necesario. Y eliminar caracterisiticas / codigo es una
forma efectiva de cumplir con las metas.
Por otro lado... igual si alteras el contrato de una clase, no toca actualizar todo el resto del codigo, como la parte de GUI? Ahora la ventaja es que el cambio primero se hace en ambiente de pruebas y solo al FINAL se mueve a "produccion".
Esa es una de las mejores practicas para hacer OO:
- Hacer clases modulares y tan independientes como se pueda
- Que estas clases tengan metodos efectivos de comunicacion
- Que se puedan desprender las unas de las otras sin afectar severamente el funcionamiento de estas
- Mantener los contratos este clases (la interface) estable en el tiempo, lo que implica sentarse 2 minutos mas a pensar en las consecuencias de hacerlo "rapido y sucio" en vez de "rapido y efectivo".
Espero que te sirva tu investigacion...
