jueves, 20 de noviembre de 2014

El bushido, o las 5S, de la progrmación

Hay una extraña manía entre los programadores y las técnicas de entrenamiento y concentración de los artistas marciales orientales; ya sea por los Koans (pequeñas preguntas o acertijos que se hacen cuando un maestro pretende que su alumno indague en lo más profundo de su conocimiento para encontrar la solución), técnicas de meditación, e incluso como he llegado a encontrar de buenas formas y de bushido tal y como expongo en esta entrada.

Como artista marcial que soy, aparte de programador, no comparto muchos de estos pensamientos o filosofías, opino que muchas de las ideas no son nada más que la forma de hacer algo que resulte un tanto más interesante para los neófitos, como los Dojos de programación, o los ya mencionados Koans. De hecho estoy esperando que alguien comience a usar la palabra baishi para algo, lo cual ya sería la repanocha...

Pero aun entrando en estos juegos de palabras y aceptando algunos por correctos, e incluso, por hasta, validos,  ¿que es esto del bushido?
Bueno según la wikipedia, que da una descripción bastante clara y rápida del bushido, este es:
"Un código ético estricto y particular al que muchos samuráis (o bushi) entregaban sus vidas, que exigía lealtad y honor hasta la muerte. Si un samurái fallaba en mantener su honor, podía recobrarlo practicando el seppuku (suicidio ritual)"

De hecho se llega a afirmar que:
"El camino del samurai (y por ende el bushido) se encuentra en la muerte"
En la programación no hay que llegar a esos extremos, pero es cierto que el bushido mantiene una férrea  disciplina sobre aquellos que deciden escoger esta forma de vida y seguir las directrices de su filosofía. Es por ello que podríamos hablar del código ético del programador a la hora de ejercer sus funciones, imponiendo unas normativas tan férreas que podrían considerarse como un bushido para nuestra programación. (Aunque he de admitir que yo comparto mas ideales en la realidad con el Taoísmo Chino que con el Bushido Japones).

Segun algunos autores, como James O Coplien, en el prologo del libro Código Limpio, aparecen los TPM (Total Productive Maintenance o Mantenimiento Productivo Total) donde uno de sus pilares son las 5S, cinco reglas que comienzan por la letra S (en la trascripción fonética del japones) y que cada vez se introducen más y más en el mundo de la programación:
  • Seiri (Organización): Es fundamental saber donde están las cosas, mediante enfoques como el uso de nombres correctos, agrupar las variables en orden, poner la funciones juntas...
  • Seiton (Sistematización): Hay un sitio para cada cosa, y cada cosa tiene que estar en su sitio. un fragmento de código debe de estar donde deberíamos encontrarlo, y si no es así hay que refactorizar hasta conseguirlo
  • Seiso (Limpieza): Mantener el código limpio, dejando los comentarios esenciales, nada de deseos, ideas futuras... todos los comentarios que no sean útiles deben de ser eliminados, además de mantener una indexación clara.
  • Seiketsu (Estandarización): Existen unos estandares definidos por la comunidad de trabajo, hay que seguirlos en nuestros trabajos.
  • Shutsuke (Disciplina): Hay que tener disciplina en la realización de nuestro trabajo.

He elegido el nombre de bushido de la programación ya que he creído que son unas normas que debieran o debusiesen ser tan férreas para el programador de bien como lo eran las ancestrales leyes del bushido para los samuraís...

No hay comentarios:

Publicar un comentario