Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Macowins - Comentarios y sugerencias #1

Closed
JessSaavedra opened this issue Apr 17, 2021 · 0 comments
Closed

Macowins - Comentarios y sugerencias #1

JessSaavedra opened this issue Apr 17, 2021 · 0 comments

Comments

@JessSaavedra
Copy link

¡Hola Tomás!

Te dejo algunos comentarios relacionados al ejercicio de Macowins:

  1. Veo que incluiste en tu README algunos ejemplos de consultar a nivel datos y te recuerdo que en esta primera mitad no nos interesa pensar en tablas ni consultar SQL (así como tampoco incluir atributos cuyo único propósito esté relacionado a eso como por ejemplo el atributo nroDeVenta) sino que nos vamos a enfocar exclusivamente en el modelado del dominio a nivel objetos
  2. En general veo que optaste por guardar datos y modificarlos a lo largo del tiempo en lugar de calcularlos dinámicamente, lo cual suele agregar complejidad innecesaria en la resolución del problema y, de estar mal manejado, podría llevar a inconsistencias. Preferimos realizar los cálculos de forma dinámica cuando sea posible y reducir los métodos con efecto (por lo que tampoco sería necesario tener cosas como modificar para el precio, liquidar para una prenda o vender para una venta.
  3. Algunas ideas parecen estar sobrediseñadas (por ejemplo el ModificadorDePrecio que podría ser parte del mismo estado de la prenda) y hay otras que no tienen tanta cohesión y podrían ser delegadas a otros objetos (como la lógica de los descuentos que en realidad no aplican a todas las prendas si no solo a algunas de ellas o el método de pago que no está reificado sino que también es responsabilidad de la prenda, lo cual hace que el código sea más difícil de entender, testear y menos flexible)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant