ProgramaNo hace falta ser Sherlock Holmes para descubrir que los buenos programadores escriben buen código. Y los malos programadores... no. Los malos programadores crean monstruos que el resto de nosotros tiene que limpiar. Querés escribir buen código, ¿no? Querés ser un buen programador.

El código bueno no aparece de la nada. No es algo que ocurre por mera suerte o por un alineamiento de planetas. Para escribir buen código debemos trabajar. Trabajar mucho. Y sólo obtendremos buen código si verdadereamente nos importa el buen código.

La buena programación no surge de la competencia técnica. Hay programadores muy inteligentes que pueden producir algoritmos impresionantes, que conocen el lenguaje a fondo, y que sin embargo escriben código del más horrible. Es doloroso leerlo, es doloroso usarlo, y es doloroso modificarlo. Hay muchos programadores humildes que se apegan al código simple, y así escriben programas elegantes y expresivos que son un placer usar.

La diferencia real entre un programador "adecuado" y un gran programador es su actitud. Los buenos programadores toman una postura profesional, y quieren escriben el mejor software que pueden, dentro de las restricciones del Mundo Real y las presiones del negocio.

El camino al infierno está pavimentado de buenas intenciones. Para ser un programador excelente debemos ir más allá de las buenas intenciones, y nos debe importar verdaderamente el código - buscar perspectivas positivas y desarrollar actitudes sanas. El gran código es creado por artesanos maestros, y no por programadores mediocres o auto-proclamados gurus de la tecnología.

Querés escribir buen código. Querés ser un buen programador. Entonces, te importa el código: 

  • En cualquier situación, te negás a escribir algo que meramente parece funcionar. Te esforzás por escribir código elegante que claramente es correcto (y que tiene buenas pruebas que demuestran su correctitud).
  • Escribís código que se puede descubrir (que otros programadores pueden seguir y comprender con facilidad), que es mantenible (que vos, u otros programadores, pueden modifciar con facilidad en el futuro), y que es correcto (tomás todos los pasos posibles para determinar que resolviste el problema, y no sólo que parece funcionar).
  • Trabajás bien con otros programadores. Ningún programador es una isla. Muy pocos programadores trabjan solos; la mayoría trabaja en equipos de programadores, tanto sea dentro de una organización o en un proyecto de código abierto. Tenés en cuenta a los otros programadores, y construís código que otros puedan leer. Querés que el equipo escriba el mejor software posible, en vez de intentar parecer inteligente.
  • Cada vez que tocás una pieza de código, te esforzás por dejarla mejor que como estaba (mejor estructura, mejores pruebas, más facil de entender, etc.).
  • Te importa el código y la programación, y por lo tanto estás constantemente aprendiendo nuevos lenguajes, patrones, técnicas. Y sólo las aplicás de manera apropiada.
Traducido de You gotta care about the code, por Pete Goodliffe.

Inspiración.

"Si tú tienes una manzana y yo tengo una manzana e intercambiamos las manzanas, entonces tanto tú como yo seguiremos teniendo una manzana cada uno. Pero si tú tienes una idea y yo tengo una idea, e intercambiamos las ideas, entonces ambos tendremos dos ideas"

Bernard Shaw