Jan 08 2009

Programación chapucera

Supongo habran sabido que los zunes se suicidaron el pasado 31 de diciembre. Un zune es un aparato de hasecorp medianamente parecido a iPod. Al grano, resulta ser que una validación mal hecha en la función de calculo de la fecha tenia la condición if (days > 366) para darse cuenta de los años bisiestos pero deberia ser if (days >= 366), es decir, mayor o igual. Como la comparación esta mal y solo pregunta por mayores entonces el día 366 de un año bisiesto no entra a la condición, que desafortunadamente esta puesta dentro de un ciclo así que el zune se quedo ahí de por vida el 31 de diciembre. Les dejo el fragmento de código fuente.

while (days > 365)
{
if (IsLeapYear(year))
{
if (days > 366)
{
days -= 366;
year += 1;
}
else
{
days -= 365;
year += 1;
}
}
}

Pueden ver el código fuente completo aquí

El caso de esto es una muestra de que un pequeño descuido en la programación puede crear problemas futuros inimaginables bajo quien sabe que circunstancias. En mi trabajo ultimamente me dedico más al analisis y desarrollo de aplicaciones nuevas así cuando es necesario dar mantenimiento o agregar funcionalidades simples a mis aplicaciones ya terminadas suelo recurrir a un programador cualquiera del centro para que el haga la talacha aburrida. Por un lado es comodo, por otro es un volado. Esta semana estuvimos a punto de meternos en un broncon por una falla en la programación casi tan simple como ese del mencionado zune, una consulta dirigida en dirección equivocada y voila, iba a sobreescribir información y por más suerte que merito encontre el bug antes de que lo pusieran a trabajar en el ambiente final, y eso que la aplicación ya la habia probado el área de beta testers, según.

El caso es que me ha tocado ver de manera relativamente frecuente fallos de programación así y por lo regular la causa es el uso de programadores que no rinden cuentas directamente si no que “la bronca es del lider” y por lo tanto salen las cosas como sea nada más para decir que se hizo pero el resultado es que las posibles excepciones o situaciones extrañas no estan validadas ni probadas y por eso pasa lo que pasa. El estar apurando los tiempos de entraga y dejar que las pruebas sean un mero requisito hecho por decir que se hizo no coopera, cuanta razón tienes Fuckwoski.

Me acorde del ultimo juego de Tomb Raider, muchos errores de programación sin testear.

10 Comments

  • By Fire_tony, January 8, 2009 @ 10:50 pm

    Jajaja, qué bonito post. Me gustó la parte del Zune.

  • By m313n45, January 9, 2009 @ 12:08 am

    jajajaja, RIFADOR.

  • By Toyedpi, January 9, 2009 @ 2:03 am

    yo teng un zune

    pero no lo he encendido desde el año pasado asi que no sabía que tenía eso XD

    ahorita lo checo

    pfff

  • By Gnoblis, January 9, 2009 @ 7:46 am

    ^ Al modelo de 30 GB es al que le paso eso. Si tienes otro chance y esta a salvo.

  • By m313n45, January 9, 2009 @ 1:53 pm

    Pero me imagino que tambien depende de la ultima actualizacion que le pusiste no ?

  • By eL_ZaYa, January 9, 2009 @ 3:16 pm

    apoco los formatos de fecha y esas shit se actualizan ? O_o … diablos!!!

  • By Izcoatl, January 9, 2009 @ 5:09 pm

    ¿Murieron sólo los modelos de 30 Gb de esos dispositivos no? Al mejor programador se le van las patas.

    Por atraer la plaga de Zaya hacia mi humilde congal quedas condenado a continuar con el ¿meme? que cayó por allá. Mas información en:

    http://izcoatl.wordpress.com/2009/01/09/%C2%BFmeme/

    Saludos.

  • By Gnoblis, January 9, 2009 @ 8:19 pm

    plaga de zaya, yo te maldigo XD

    ¿Poner un meme en la madriguera? Bueno, será apenas el 2do, a ver que pasa. En ese entonces solo tenia cuatro lectores: http://www.gamersla.net/gnoblis/?p=125

  • By Kid, January 9, 2009 @ 9:34 pm

    Ja! chido… encontraste la noticia… eso era lo que te comentaba, deberiamos de meternos de testers caon, el mercado esta tan pobre que ya no hay!!!

    Cya!

  • By Gnoblis, January 10, 2009 @ 1:50 pm

    No creo, seguramente con la crisis los despidieron por aquello de los recortes de personal, el de recursos humanos dijo “los tester no producen nada, son un gasto”

Other Links to this Post

RSS feed for comments on this post. TrackBack URI

Leave a comment