martes, junio 28, 2005
Estilo radical
Joel Spolsky ha editado un libro con sus artículos favoritos sobre software, casi todos publicados entre 2003 y 2004. Yo había alguno que ya había leído, como el de Bruce Eckel sobre lenguajes fuertemente tipados frente a los tipados débilmente, en el que defiende que el tipado fuerte (lo que tienen Java o C++) hace muy pesado escribir programas y que no aporta mucha mayor seguridad de que estén bien hechos: a fin de cuentas, siempre hay que tener tests y el programa no funciona cuando compila, sino cuando pasa los tests. Ese artículo fue un gran empuje para Python.
Pero hoy he leído otro artículo seleccionado por Joel que me ha llegado al alma: Style is Substance. En él, Ken Arnold defiende algo muy radical: que los estándares de los lenguajes deberían también estandarizar el estilo de codificación (ya sabéis: cómo se formatean los bloques de código, los paréntesis y todo eso) y si un programa no lo cumple, error del compilador al canto. Sí, "error" y no "warning".
Las ventajas principales: se acabaron las guerras de estilo en los proyectos ("Hay que dejar un espacio entre el nombre de la función y el paréntesis en la llamada", "¡No, no y no! ¡Sólo por encima de mi cadáver!"), todos los libros utilizarían el mismo estilo, todos los proyectos también y no habría problemas con los programas de control de versiones que indicasen diferencias entre dos ficheros sólo por aspectos de formato.
Me llegó al alma el artículo: aparte de que está bien escrito, a mí me han llamado radical por exigir cosas como que se dejase un espacio después de la coma entre los parámetros. De hecho, hace poco estuve leyendo un libro recomendado por Joel (y mucha otra gente), "Code Complete", que tiene unas cuantas páginas dedicadas a formateo del código. Hay algunas cosas que son obvias y todo el mundo está de acuerdo, y hay otras que no es muy importante hacerlas de una forma o de otra -hay ventajas y desventajas por los dos lados y no inclinan la balanza hacia ninguno-, pero lo importante es estar de acuerdo en utilizar todos la misma.
Pero igual hay otra razón por la que me llegó al alma: hace poco estuve trabajando con un código que tenía líneas enteras de 200 caracteres sin un sólo espacio en blanco. Me llevó un día y medio reformatear (con ayuda de indent y supervisión manual después) las más de 15000 líneas. Una cosa así te vuelve radical para toda la vida.
Actualización: Al poco de escribir lo anterior me entero de que Bruce Eckel se ha cambiado a Artima. Artima es un sitio que no conocía... hasta que leí el artículo de Ken Arnold que está en el mismo lugar. Dios los cría y ellos se juntan.
Pero hoy he leído otro artículo seleccionado por Joel que me ha llegado al alma: Style is Substance. En él, Ken Arnold defiende algo muy radical: que los estándares de los lenguajes deberían también estandarizar el estilo de codificación (ya sabéis: cómo se formatean los bloques de código, los paréntesis y todo eso) y si un programa no lo cumple, error del compilador al canto. Sí, "error" y no "warning".
Las ventajas principales: se acabaron las guerras de estilo en los proyectos ("Hay que dejar un espacio entre el nombre de la función y el paréntesis en la llamada", "¡No, no y no! ¡Sólo por encima de mi cadáver!"), todos los libros utilizarían el mismo estilo, todos los proyectos también y no habría problemas con los programas de control de versiones que indicasen diferencias entre dos ficheros sólo por aspectos de formato.
Me llegó al alma el artículo: aparte de que está bien escrito, a mí me han llamado radical por exigir cosas como que se dejase un espacio después de la coma entre los parámetros. De hecho, hace poco estuve leyendo un libro recomendado por Joel (y mucha otra gente), "Code Complete", que tiene unas cuantas páginas dedicadas a formateo del código. Hay algunas cosas que son obvias y todo el mundo está de acuerdo, y hay otras que no es muy importante hacerlas de una forma o de otra -hay ventajas y desventajas por los dos lados y no inclinan la balanza hacia ninguno-, pero lo importante es estar de acuerdo en utilizar todos la misma.
Pero igual hay otra razón por la que me llegó al alma: hace poco estuve trabajando con un código que tenía líneas enteras de 200 caracteres sin un sólo espacio en blanco. Me llevó un día y medio reformatear (con ayuda de indent y supervisión manual después) las más de 15000 líneas. Una cosa así te vuelve radical para toda la vida.
Actualización: Al poco de escribir lo anterior me entero de que Bruce Eckel se ha cambiado a Artima. Artima es un sitio que no conocía... hasta que leí el artículo de Ken Arnold que está en el mismo lugar. Dios los cría y ellos se juntan.