domingo, 18 de marzo de 2012

97 Things every programmer should know


97 Things every programmer should know
Kevlin Henney

Libro que es un compendio de pequeños artículos, sí en concreto 97, en el que distintos "expertos" exponen diferentes aspectos de la programación. Son artículos cortos y superficiales, por lo que es un libro fácil de leer.

Y a continuación las notas que tomé:

- Postponer la resolución de un problema a un problema posterior suele ser una mala práctica, ya que la resolución puede ser aún más compleja. Como mal menor, apuntarlo en la lista de TODO para que no se olvide.

- El conocer la programación funcional puede ser de mucha utilidad para evitar problemas con referencias.

- Los usuarios finales no piensan como los programadores. Se aprende mucho pasando una hora viendo cómo trabajan los usuarios, qué tipo de cosas hacen.

- Las reglas de desarrollo deben seguirse y no relajarse, llegando a evitar subir código al repositorio si no cumple las reglas.

- Hay que hacer código simple, aunque la aplicación sea muy compleja.

- Cuidado con las refactorizaciones de código. El viejo código puede no ser elegante, pero funciona. No se puede tirar a la basura el conocimiento y horas usadas para conseguir ese viejo código.

- No todo debe reutilizarse. En ocasiones es mejor duplicar código para evitar crear dependencias.

- Implantar revisiones de código donde todo el equipo esté involucrado y no exista o parezca existir un equipo de élite que juzga a los demás.

- El mejor comentario es el que no hace falta, ya que el código es autoexplicativo.

- El peor comentario no es el que falta, sino el que existe y es incorrecto.

- Aprender otros lenguajes es útil ya que nos dará ideas de cómo afrontar problemas desde otras perspectivas. Será doblemente útil si son lenguajes pertenecientes a distintos paradigmas (procedimentales, orientado a objetos, funcionales, lógicos, ...).

- Trabajar en proyectos open-source es una buena forma de aprender mucho.

- Un gurú puede tener mucho conocimiento, pero necesitará de un contexto para poder ayudar.

- La formación continua es parte del trabajo de un programador.

- Si quieres que alguien pruebe tu producto, da todas las facilidades: descarga sin pasos intermedios, incluir guía rápida de uso, documentación, ejemplos, ...

- Un algoritmo eficiente parecerá malo si las comunicaciones son malas.

- Los IDEs nos hacen más productivos pero nos ocultan qué estamos haciendo realmente. Con las herramientas desde línea de comandos, somos más conscientes de lo que está sucediendo.

- Los build debe codificarlos el equipo de desarrollo.

- Automatizar todo lo posible, ya que al final se ejecuta más veces de lo que suponíamos.

- Escribe código como si tuvieras que mantenerlo durante el resto de tu vida.

Mi calificación: 7

El caballero de la armadura oxidada

El caballero de la armadura oxidada
Robert Fisher

Nos encontramos ante otro típico libro de autoayuda que se apoya en una historieta de un caballero para hacer llegar mejor su mensaje. La verdad es que estos libros de autoayuda no me suelen gustar mucho, así que mi opinión está condicionada desde el principio.

El caballero está atrapado en suarmadura después de años sin quitársela. Él aduce que debe estar preparado ante cualquier acontecimiento que requiera su intervención, cosa que hace tiempo que no es necesaria.

La armadura no le permite hacer una vida normal y su mujer le pide que se quita pero, después de tanto tiempo, está oxidada y no lo consigue. Sale en busca del mag Merlín para que le ayude.

A través de distintas pruebas irá aprendiendo qué es lo que realmente importa en la vida e irá consiguiendo quitarse la armadura. Aprenderá que hay que valorarse uno mismo sin tener que estar constantemente demostrarlo.

Mi calificación: 6

¿Qué te importa lo que piensen los demás?

¿Qué te importa lo que piensen los demás?
Richard Feynman

Después de ¿Está usted de broma Sr Feynman? con el que quedé encantado por lo divertido de las anécdotas de la vida de este científico inusual, decidí leer algo más de él sabiendo que la diversión estaba asegurada.

¿Qué nos escontramos en el libro? Más anécdotas y sobre todo la investigación de la explosión del Challenger, de la que me quedo con la idea de que los gestores no están en sintonía con el personal técnico y es más importante una fecha de lanzamiento que asegurar hacer las cosas bien y de forma segura.

Dentro de la comisión de investigación que se formó, Feynman hizo referencia a cómo la temperatura pudo modificar las propiedades de unas juntas y provocar una pérdida de estanqueidad. Este hecho lo pudimos ver hace un tiempo gracias a Amazings:


Quizás sea un poco más flojo que el otro mencionado, pero igualmente lo he leído bastante rápido para haber perdido un tanto el hábito de la lectura.

Mi calificación: 7.5