Durante las últimas 2 semanas estuve trabajando con 4 lenguajes distintos. El día de ayer es un buen ejemplo de un dia extremo. Arranqué el día en Southworks con C# y JavaScript. Luego por tarde, en Fiuba me tocó Java. Y finalmente cerré el día el UNQ con Ruby.
En este contexto, me ocurrió el lunes pasado, una situación curiosa que me hizo tomar conciencia de algunas curiosidades de Javascript. Resulta que paśe todo el dia alternado entre JavaScript y Ruby. Implementé 1 user story completa y la dejé otra a la mitad. Dado mi limitado conocimiento de JavaScript, pasé mucho más tiempo codeando Javascript que lo que paśe en Ruby. Al día siguiente continué completando la story que me había quedado pendiente y para la cual tenia que reutilizar algunas funciones JavaScript que había escrito el día anterior. Estaba en plena depuración con el navegador cuando me dí cuenta que en una de mis funciones utilizaba una variables locales que no habia declarado (en JavaScript la variables deben declararse con var). Yo simplemente las usaba sin haberla declarado, tal cual se hace en Ruby. Lo curioso del caso es que el navegador, ejecutaba mi código como si nada, sin arrojar siquiera un warning, ¡ja!¡que peligro!
Una vez, este tipo de situaciones refleja la importancia del uso de herramientas como JSLint.