Conversiones automáticas de tipos de datos en JavaScript

desarrollo 0 comentarios »

Estoy leyéndome JavaScript: The Definitive Guide, y me ha parecido práctico tener a mano la siguiente tabla de conversiones automáticas de tipos de datos en JavaScript:

Valor Contexto
Texto Número Booleano Objeto
no definido “undefined” NaN false Error
null “null” 0 false Error
cadena no nula igual valor numérico de la cadena o NaN true objecto String
cadena vacía igual 0 false objecto String
0 “0″ igual false objecto Number
NaN “NaN” igual false objecto Number
Infinity “Infinity” igual true objecto Number
Infinity negativo “-Infinity” igual true objecto Number
otro número valor de texto del número igual true objecto Number
true “true” 1 igual objeto Boolean
false “false” 0 igual objeto Boolean
Object toString() valueOf(), toString() o NaN true igual

70 cosas que todo programador pragmático debería tener en cuenta

desarrollo, libros 0 comentarios »

Acabo de leer The Pragmatic Programmer: From Journeyman to Master, todo un clásico sobre el desarrollo ágil, y me ha parecido bastante interesante. Muy recomendable si quieres huir de la metodogía tradicional en cascada o si no sigues ninguna metodología. Si eres de los que lleva tiempo en el mundo Rails, los temas tratados te resultarán de sentido común, pero recuerda que el sentido común es el menos habitual de los sentidos.

El libro nos va resaltando las cosas que todo programador pragmático debería tener en cuenta. Os las enumero aquí para que os hagáis una idea de los temas tratados en el libro. Muchos de los puntos se entienden por sí sólos. Para entender otros será necesario que leáis el libro.

  1. Mima tu obra
  2. ¡Piensa!, sobre tu trabajo
  3. Proporciona opciones, no excusas
  4. No vivas con ventanas rotas
  5. Sé un catalizador del cambio
  6. Ten perspectiva
  7. Haz de la calidad un requisito
  8. Invierte regularmente en tu conocimiento
  9. Analiza críticamente lo que lees y oyes
  10. Importa lo que dices y cómo lo dices
  11. No te repitas
  12. Haz que sea fácil la reutilización
  13. Elimina las interacciones entre cosas no relacionadas
  14. No hay decisiones finales
  15. Utiliza balas trazadoras para encontrar el objetivo
  16. Prototipa para aprender
  17. Programa cerca del dominio del problema
  18. Estima para evitar sorpresas
  19. Replanifica según codificas
  20. Mantén el conocimiento en texto plano
  21. Utiliza el poder de los comandos de la shell
  22. Aprende a utilizar un editor a fondo
  23. Utiliza siempre control del código fuente
  24. Arregla el problema, no busques culpables
  25. Evita el pánico
  26. “select” no se ha roto
  27. No lo asumas, pruébalo
  28. Aprende un lenguaje de manipulación de textos
  29. Escribe código que escriba código
  30. No puedes escribir software perfecto
  31. Diseña con contratos
  32. Haz que los errores aparezcan pronto
  33. Si no puede ocurrir, asegúrate de que no ocurra
  34. Utiliza excepciones para problemas excepcionales
  35. Acaba lo que empieces
  36. Minimiza el acoplamiento entre módulos
  37. Configura, no integres
  38. Pon las abstracciones del código en metadatos
  39. Analiza el flujo de trabajo para mejorar la concurrencia
  40. Diseña utilizando servicios
  41. Diseña siempre pensando en la concurrencia
  42. Separa las vistas de los modelos
  43. Utiliza el patrón pizarra para coordinar los flujos de trabajo
  44. No programes por coincidencia
  45. Estima el orden de magnitud de tus algoritmos
  46. Comprueba tus estimaciones
  47. Refactoriza pronto, refactoriza a menudo
  48. Diseña para testear
  49. Testea tu software, ya que si no lo harán tus usuarios
  50. No utilices asistentes de código que no entiendas
  51. No recojas requerimientos, escava para encontrarlos
  52. Trabaja con un usuario para pensar como un usuario
  53. Las abstracciones viven más que los detalles
  54. Utiliza un glosario en tus proyectos
  55. No pienses fuera de la caja, encuentra la caja
  56. Escucha a tus dudas persistentes — Empieza cuando estés preparado
  57. Algunas cosas se hacen mejor que se describen
  58. No seas un esclavo de los métodos formales
  59. Las herramientas caras no producen mejores diseños
  60. Organiza alrededor de la funcionalidad, no de los puestos de trabajo
  61. No utilices prodedimientos manuales
  62. Testea pronto, testea a menudo, testea automáticamente
  63. La codificación no termina hasta que todos los tests hayan pasado
  64. Utiliza saboteadores para testear tus tests
  65. Testea pensando en los estados de tu aplicación, no en las líneas de código
  66. Busca los bugs sólo una vez
  67. Utiliza tu lengua como otro lenguaje de programación (documenta)
  68. Genera tu documentación de la manera más automática posible
  69. Excede las expectativas de tus usuarios
  70. Firma tu trabajo

El sprint de JQuery

desarrollo 0 comentarios »

Reconozco que llevo tiempo queriendo aprender JavaScript, sin ponerme a ello en serio. Creo que el momento ha llegado. He decidido ponerme a estudiar JQuery, y es que me han hablado muy bien de este framework. Es impresionante el sprint que está realizando JQuery respecto a otras librerías JavaScript:

frameworks_javascript


Chuleta de expresiones regulares

desarrollo 2 comentarios »

He encontrado la siguiente chuleta sobre expresiones regulares. Muy útil para tenerla siempre a mano. Haz click en la imagen para agrandar.

regular expressions cheat sheet

Encontrada en ilovejackdaniels.com.


¿Cuánto cobra un programador en EEUU?

desarrollo 41 comentarios »

Si tomamos los 10 lenguajes de programación más populares según el índice TIOBE y buscamos en indeed cuál es el salario medio en Estados Unidos para cada lenguaje, obtenemos el siguiente resultado:

salario programadores

Es decir, entre $60.000 y $80.000 dólares. Incluso teniedo en cuenta lo barato que está el dólar, estaríamos hablado de entre 38.000 € y 50.000 €. Para poder comparar estas cantidades habría tener en cuenta otros factores, como los impuestos (creo que en España se pagan más impuestos que en EEUU) y el coste de la vida (posiblemente gran parte de EEUU sea más barato que España). También habría que ponderar los servicios públicos como la sanidad (cada vez más gente en España recurre a seguros privados) y la educación (cada vez más gente, por lo menos en Madrid, tiene que enviar a sus hijos a colegios privados o concertados).

¿Pensáis que en España los programadores cobran poco? ¿Os iríais a trabajar a EEUU o a otros países?