Desde Frogtek siempre hemos querido buscar la excelencia en nuestro código y en nuestro métodos. El pair programming, el desarrollo orientado a tests y la revisión de código forman parte de nuestro día a día. Pero como el ser humano es propenso a fallos y la mente humana no funciona a veces como debería, podemos ver que no todo es perfecto en el paraíso...

Con esta entrada queremos inaugurar una sección en la que sacaremos a relucir los trapos más sucios de nuestros programadores. Bienvenidos todos a la nave del misterio...

Comenzaremos con lo que encontramos en un archivo de Date Utilities, en el que habitan diversas funciones relacionadas con fechas. Concretamente nos fijaremos en dos de ellas...

    public static String getFirstDayOfMonth() {
        Calendar c = Calendar.getInstance();
        c.set(Calendar.DAY_OF_MONTH, 1);
        return StringUtilities.getShortStringFromCalendar(c);
    }

    public static String get_nMonthAgoFirstDay() {
        Calendar c = Calendar.getInstance();
        c.set(Calendar.DAY_OF_MONTH, 1);
        return StringUtilities.getShortStringFromCalendar(c);
    }

¿Qué hay detras de este código? ¿Qué motivaciones ocultas llevaron a los programadores a crear este tándem siniestro?