GithubHelp home page GithubHelp logo

aterrizar.com's People

Contributors

gguzman89 avatar laimejesus avatar nnydjesus avatar

Watchers

 avatar  avatar  avatar  avatar

aterrizar.com's Issues

Posible error al utilizar el orden

Por ejemplo con este orden:

screen shot 2016-04-25 at 12 51 05 pm

La forma que lo usan en el test es: ordenPorDuracion.porMenorOrden
Pero que pasa si se hace dos veces esa linea:
ordenPorDuracion.porMenorOrden
ordenPorDuracion.porMenorOrden

La query que se genera quedaria: vuelos.duracionDeVuelo asp asc
Y eso no esta bueno.

Lo que se podría hacer es tener una tipo de orden, ASC y DESC. Entonces cuando vos le decis ordenPorDuracion.porMenorOrden se setea el tipo ASC y cuando le mandan el mensaje getOrdenadoPor ahi devuelve la query + el tipo

Se entiende?

Manejar Excepciones en los Tests

Tienen tests donde esperan una excepción y en varios casos manejan las excepciones sin hacer nada "importante". por ejemplo:

screen shot 2016-03-29 at 10 49 40 pm

JUnit tiene una forma de hacer un assert esperando una excepción sin manejarla.

screen shot 2016-03-29 at 10 51 53 pm

Manejar los Id's a Mano

Eso lo habíamos hablado en clase. La idea es patearle la responsabilidad de asignar los ids al motor de la base de datos. La solución que hicieron tiene un problema gravísimo, por ejemplo, el contador de ids es volátil y vive en memoria, cada vez que instancias el servicio el contador empieza en 1. Si los datos fuesen persistentes a lo largo del tiempo (no como en sus test que se borran) tendrían un conflicto zarpado con los ids.

screen shot 2016-03-29 at 10 56 18 pm

Mucha responsabilidad en el reservar del ServicioDeReserva

Tienen este código:

screen shot 2016-04-25 at 1 04 43 pm

Las validaciones están bien, pero no lo que no esta bien es la forma en la que se realizan.
Si tenes que validar que un vuelo pertenezca a una aerolínea, no podría ser una responsabilidad de la aerolínea?

Lo mismo va para los vuelos-tramos, tramos-asientos.

Podrias tener una validación en cascada.. por ejemplo:

screen shot 2016-04-25 at 1 10 01 pm

(Aunque no compila, pero podría ser una buena forma de delegar las validaciones a los objeto de dominio )

Crear Script SQL de Creación del Schema de la Base

Tienen que crear un script con la creación del schema de la base de datos. Porque? Porque si quiero correr sus test, necesito tener las tablas creadas y al no tener el script tengo que ver que tablas usan en su proyecto y con que columnas, etc. Entonces no esta bueno eso.

Creen el script y lo adjuntan en el proyecto. Un buen lugar para el archivo es dentro del directorio "src/main/resources", que es el lugar por convención de maven para adjuntar recursos externos al código. También dentro de el pueden categorizar los archivos, por ejemplo "src/main/resources/db/createSchema.sql"

Se podría resolver un una query que te devuelva true o false

En la consulta de viajeA te traes todos los vuelos en los que reservaste algún asiento y recorres los tramos a mano, eso se podría resolver con una sola query... y que te devuelva un true o false o que te devuelva el tramo y si esta... es que viajó a ese lugar y si no... no!

screen shot 2016-06-05 at 1 19 25 pm

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.