Corrección - Caripela Libro - Entrega 1 - Grupo 7

Correcciones:

    • El manejo de Exceptions, no se si esta tan bueno tener subclasificado los errores en clases para cada error. Aca lo que tengo que pensar es que espero que se haga con esas exception, o sea las clasifico para poner comportamiento distinto en quien las maneja. Por ejemplo, me gustan que tales errores los ignore y otros los muestre. Si es solo por un tema de mostrar un mensaje, las exceptions ya tienen un mensaje. Todo lo que agregue al sistema, agrega complejidad, por lo tanto tengo que pensar cuanto me sirve / me ahorro y cuanto me cuesta (en complejidad y tiempo).

    • Los tests deberían tener la forma de Setup / Work / Assert, o sea se debería poder extraer en el SetUp las operaciones de creación del ambiente, y vi que muchas de estas operaciones se encuentran repetidas en los distintos tests. No solo es un problema de Once and Only Once, sino que además esta afectando el estandar de comunicación y lo que se espera al ver un Test, imaginen el caso donde deben modificar algo; es mucho más simple encontrar o modificar el ambiente si esta en un solo lugar y ese lugar es el que todos esperamos. Incluso cuando se tienen tests que tienen SetUp distintos pero testean el mismo módulo, por ejemplo un objeto en dos contextos diferentes; a mi me gusta crear dos TestCase por separado de la forma AEnContextoXTest y BEnContextoYTest.

    • Maven, más que una corrección es una fuerte sugerencia.

    • Separar los src de los entregables de los Tests, esto es gratis si aplican Maven.

    • En el Strategy de amistades, aunque el código es trivial, tenemos una repetición que podia ser evitada si tenemos un poco de comportamiento en el super tipo, implicaria cambiar la interfaz a clase abstracta.

    • UTF-8 para todo.