Etiqueta: java

    Contrato equals-hashCode en Java

    A pesar de ser un tema fundamental en Java y una típica pregunta en entrevistas laborales, el contrato equals()-hashCode() muchas veces es ignorado por programadores con cierta experiencia en el lenguaje. Creo que esto se debe a que el impacto de no respetar esta condición sólo se hace visible si utilizamos los contenedores HashMap y HashSet o alguna biblioteca de terceros cuya lógica se base en este contrato. Fuera de eso nuestra clase “puede andar por la vida” sin enterarse de que no está cumpliendo el contrato ya que no verá consecuencias.

    ¡Basta de temerle a las regex! - Parte 2

    En la primera nota sobre expresiones regulares vimos cómo podemos escribir una regex que coincida caracteres específicos (o grupos de caracteres) en ciertas posiciones. De manera que es múy fácil crear una regex que encuentra una x seguida de un espacio en blanco, seguida de una y. Pero qué si necesitamos encontrar una a seguida de entre cuatro y seis dígitos, seguidos de una b. Esto es posible y vamos a ver cómo se hace.

    ¡Basta de temerle a las regex!

    ¡No es chiste! Los desarrolladores le temen a las expresiones regulares. Y sí, lo entiendo. Se ven horrible. Pero son poderosas. Y es mucho más difícil leerlas que escribirlas. Lo que no es ideal. Pero al menos te podés beneficiar escribiendo regex aquí y allá. Posiblemente sea buena idea documentarlas con un comentario significativo en el código para tu futuro yo. Aprender a escribir algunas regex simples y, aún así, poderosas no es imposible y estoy escribiendo este artículo para probarlo.

    ¡No uses new en Java!

    Siempre prefiere static factory methods al uso de constructores. Hay dos circunstancias distintas donde debemos seguir esta máxima: cuando creamos una clase y definimos cómo se van a crear sus instancias, y cuando creamos instancias de otras clases que no hemos definido nosotros. Creo que la mayor parte del tiempo tenemos esto presente cuando estamos definiendo nuestra clase. Y no tanto cuando creamos objetos de otras. En especial si esa clase tiene constructores públicos.

    Escribir menos código y más legible

    Claro que hay muchas cosas para hacer cuando hablamos de escribir código más legible en Java. Lo que vamos a ver a continuación es cómo utilizar la biblioteca Lombok para escribir menos código. Y como resultado tener un código fuente más legible. Lombok Es una biblioteca extensa y no vamos a cubrir todas sus características en este artículo. Vamos a hacer un recorrido en el que, yo creo, es el orden de utilidad.