Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Haciendo trampa: Trucos para programar menos

Haciendo trampa: Trucos para programar menos

B1ff2afbfbfe88037c59978bc4c102a6?s=128

Roberto Alsina

July 10, 2012
Tweet

Transcript

  1. Haciendo trampa Trucos para programar menos Les miente: Roberto Alsina

    email: ralsina@kde.org twitter: @ralsina blog: http://lateral.netmanagers.com.ar Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  2. ¿De qué estamos hablando? • Programar es divertido. Roberto Alsina

    | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  3. ¿De qué estamos hablando? • Programar es divertido. • Programar

    mucho debe ser más divertido Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  4. ¿De qué estamos hablando? • Programar es divertido. • Programar

    mucho debe ser más divertido • Programar todo el día debe ser totalmente divertido Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  5. NO, PIBE • Programar es divertido • Producir mucho es

    más divertido • Producir mucho pero tener una vida fuera del código es totalmente divertido Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  6. Métricas • Si no lo podés medir no existe. Roberto

    Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  7. Métricas • Si no lo podés medir no existe. •

    Si medís la cosa equivocada, es mejor no medir nada. Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  8. Métricas • Si no lo podés medir no existe. •

    Si medís la cosa equivocada, es mejor no medir nada. • Decidir cuál es la cosa correcta implica pensar mucho. Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  9. ¿Quién dijo esto? “Medir el progreso de un programa por

    líneas de código es como medir el progreso en la construcción de un avión en toneladas.” Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  10. ¿Quién dijo esto? “Medir el progreso de un programa por

    líneas de código es como medir el progreso en la construcción de un avión en toneladas.” Bill Gates Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  11. Algunas Métricas Posibles • Horas de programación (H) Roberto Alsina

    | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  12. Algunas Métricas Posibles • Horas de programación (H) • Dinero

    obtenido (D) • D/H Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  13. Algunas Métricas Posibles • Horas de programación (H) • Dinero

    obtenido (D) • D/H • Líneas de código (L) • L/H Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  14. Algunas Métricas Imposibles • Felicidad sentida (F) Roberto Alsina |

    ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  15. Algunas Métricas Imposibles • Felicidad sentida (F) • Maldiciones emitidas

    (M) Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  16. Algunas Métricas Imposibles • Felicidad sentida (F) • Maldiciones emitidas

    (M) • Ego Level-Up (E) Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  17. Algunas Métricas Imposibles • Felicidad sentida (F) • Maldiciones emitidas

    (M) • Ego Level-Up (E) • F/M • F*E/M • (F*E)/(M*H) • (F*H)/(M*L) • (F-M)*E*D/H Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  18. ¿Quién dijo esto? “La pereza es la primera virtud de

    un programador.” Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  19. ¿Quién dijo esto? “La pereza es la primera virtud de

    un programador.” Larry Wall, creador de Perl Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  20. Problema Ejemplo ¿Cómo hago para mostrar el avance de un

    proceso que tiene N pasos en una terminal, para que el usuario no se impaciente? Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  21. Problema Ejemplo ¿Cómo hago para mostrar el avance de un

    proceso que tiene N pasos en una terminal, para que el usuario no se impaciente? >>> from progressbar import ProgressBar >>> progress = ProgressBar() >>> for x in progress(xrange(N)): ... y=foo(x) ... 100% |########################################################################| Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  22. ¿Quién dijo esto? “Los poetas inmaduros imitan, los poetas maduros

    roban.” Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  23. ¿Quién dijo esto? “Los poetas inmaduros imitan, los poetas maduros

    roban.” T.S. Eliot “¿Por qué roba bancos la gente? Porque ahí está el dinero.” Willie Sutton, ladron de bancos Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  24. ¡Hoy en día no necesitás robar! • Hay mucho código

    bueno por ahí Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  25. ¡Hoy en día no necesitás robar! • Hay mucho código

    bueno por ahí • Hay mucho código bueno con buenas licencias por ahí Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  26. ¿Quién dijo esto? “Si programás lo más astuto que podés,

    por definición no sos lo suficientemente astuto para debuguearlo.” Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  27. ¿Quién dijo esto? “Si programás lo más astuto que podés,

    por definición no sos lo suficientemente astuto para debuguearlo.” Brian Kernighan, creador de C Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  28. Problema: ¿cuál de estos es mejor? f() if a >

    b else g() (f, g)[a>b]() Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  29. Problema: ¿cuál de estos es mejor? f() if a >

    b else g() (f, g)[a>b]() NO, lo mejor es esto: if a>b: f() else: g() Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  30. Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar

  31. El trabajo no termina cuando terminás de escribir • Esfuerzo

    de escritura • Esfuerzo de que ande • Esfuerzo de que siga andando • Esfuerzo de leerlo • Esfuerzo de explicarlo • Esfuerzo de mantenerlo Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  32. Inversión y Recompensa • Escribir claro • Escribir explícito •

    Escribir modular • Escribir tests Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  33. Técnicas que Ayudan • Leer mucho • Releer • Escribir

    • Publicar • Releerse Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  34. ¿Quién dijo esto? Mostrá rápido, Mostrá seguido. Roberto Alsina |

    ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  35. ¿Quién dijo esto? Mostrá rápido, Mostrá seguido. Cliente de stripper

    Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  36. ¿Quién dijo esto? Mostrá rápido, Mostrá seguido. Cliente de stripper

    Eric Raymond, La catedral y el bazar Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar
  37. Preguntas y Respuestas Les mintió: Roberto Alsina email: ralsina@kde.org twitter:

    @ralsina blog: http://lateral.netmanagers.com.ar Roberto Alsina | ralsina@kde.org | @ralsina http://lateral.netmanagers.com.ar