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

Correcciones y sugerencias QMP4 #3

Open
SofiCortes opened this issue May 31, 2021 · 0 comments
Open

Correcciones y sugerencias QMP4 #3

SofiCortes opened this issue May 31, 2021 · 0 comments

Comments

@SofiCortes
Copy link

Buenas! Te dejo algunos comentarios sobre la entrega QMP4.

  1. Me perdí un poco con el diagrama de clases, el hecho de que esté en partes dificulta su lectura (cómo se relacionan entre si esas clases? están separadas del resto del sistema?) Te sugiero que por iteración hagas solo 1 diagrama con las clases relevantes a esa iteración (no sería muy grande porque lo limitamos por iteración).
  2. Muy bueno que venis haciendo tests para las entregas!
    public void climaBaires() {
    Assertions.assertDoesNotThrow(() -> {
    new AccuWeatherAPI().getWeatherForBuenosAires();
    });
    }

    En este caso, el assert está teniendo poco sentido porque en realidad en todos los casos (excepto los de error) queremos que no arroje excepción un método. No estamos verificando que funcione bien. Una opción es testear lo que devuelve ese método contra lo que esperás que devuelva, de esa forma si tenemos algún error en la lógica nos vamos a enterar.
  3. AccuWeatherAPI es parte de un SDK cuyo código no podemos modificar, por lo cual no podemos hacer que implemente ClimaService. Como vimos en clase, sí podemos envolverlo y adaptarlo para que devuelva lo que le sirva al dominio.
  4. Ojo con el uso del nombre service. Como vimos en clase, un service puede ser literalmente cualquier cosa. Veo que estás usando la palabra service como nombres de packages en Java. Qué clases queremos agrupar bajo este concepto? Es muy vago y amplio y termina siendo una bolsa de gatos. Una opción es hacer packages que representen funcionalides de dominio.
  5. No hagas código que no se vaya a utilizar o por las dudas. Por ejemplo, todo lo que está dentro de Clima... a qué funcionalidad responde del enunciado? Esto generó un sobrediseño, una complejidad accidental que no esperábamos para este ejercicio.
  6. Qué funcionalidad cumple la clase Pronostico? No tiene ningún comportamiento. Para evitar esto, podemos tener como atributo ClimaService donde lo vayamos a utilizar.
  7. La idea de fabricar las prendas excede al enunciado, y está complejizando mucho el diseño. Se podría hacer mucho más simple si las prendas ya existieran y se eligiera sobre esas. Además, no encontré donde efectivamente se recomienda un atuendo dependiendo del clima.

Saludos!

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