Programador: no toques de oído

En música, se dice que alguien toca de oído cuando puede ejecutar piezas musicales con algún instrumento a pesar de carecer de conocimientos concretos de música y por lo tanto no poseer la habilidad de leer partituras.

En programación tenemos algo similar y de eso se trata este pequeño artículo.

A una compañera de trabajo, front-end developer, le tocó la tarea de realizar unas mejoras en un proyecto desarrollado con tecnologías web.

El proyecto en sí derrocha tecnología. Usa distintos lenguajes, librerías y frameworks y, si bien no está hecho en lo último de lo último… ¿Qué lo está en estos días?

Ella me pidió ayuda en un asunto puntual. No domino tanto como ella ese lado del stack, pero a veces sirve tener una opinión lateral de alguien, incluso de un viejo back-end developer y más si es el Líder Técnico, encargado de asistir técnicamente a los otros desarrolladores. Me acerqué un rato a ver en qué podía ayudar.

Estábamos analizando una porción de código, escrito en Javascript, cuando notamos los dos algo raro. Había dos bucles for anidados, uno de ellos era una línea extensa y dentro del bucle interior, se encontraba una porción de código importante y complicada.

¿Pero para qué era todo ese código? Bueno, no hacía mucho. Parecía muy complejo y rebuscado en relación a lo que producía a nivel funcionalidad.

Luego de ver este caso, recordé que ya habíamos visto algo de código de este mismo proyecto. Era código PHP, utilizando un poderoso framework. De eso sí entiendo mucho y cuando vi el código, tan mal escrito, pensé que quizás el desarrollador era un front-end developer perdido y necesitado de una solución de back-end y que hizo lo que pudo.

Pero, si el front-end está mal y el back-end está mal, entonces el desarrollador, o el equipo de desarrolladores están mal.

Fue ahí cuando tiré la frase

El que hizo esto toca de oído.

Sin explicar a qué me refería, mi compañera asintió. Ella logró resolver su problema sin mi ayuda y yo me quedé el resto del día pensando en mi frase.

Qué es tocar de oído en programación

Es programar absolutamente todo a prueba y error. Es utilizar los limitados conocimientos que se tienen sin pensar nunca en aprender nuevos.

Es tratar de pilotearla con lo que se sabe. Con lo que se aprendió alguna vez para un lenguaje o tecnología específico.

Pero no sólo eso, es mucho peor. Es convencerse de que hacer eso está bien.

Tocar de oído es no leer documentación. Es no investigar para aprender. Es investigar únicamente para resolver errores o problemas puntuales.

No hay que confundirse. La prueba y el error pueden ser en algunos casos una forma de aprender y de avanzar, especialmente cuando se empieza con alguna tecnología nueva. Pero abusar de eso es propio de un programador aficionado.

Tocar de oído es creer que programamos única y exclusivamente para hacer que las cosas funcionen, sin importar el cómo.

Tocar de oído es asumir el papel de un programador profesional sin serlo.

En otras palabras, tocar de oído es “robar”.

Cómo detectar cuando alguien toca de oído

Enumero a continuación algunos casos puntuales para detectar cuando un programador toca de oído.

  • El código es difícil de leer.
  • Hay sentencias muy largas.
  • Se encuentran expresiones extensas dentro de los if y los while.
  • El código tiende a ser monolítico y estar distribuido en muy pocos archivos.
  • No se usa POO.
  • Se trabaja con un conjunto de funciones muy reducido de la tecnología que se usa.
  • Se utilizan funciones cuyo uso suele ser poco frecuente en general para esa tecnología.
  • Se realizan operaciones y procedimientos rebuscados que se podrían resolver con una función del lenguaje, framework o librería en cuestión.
  • No se siguen lineamientos básicos de la tecnología con la que se trabaja.
  • El código tiene pocos o ningún comentario

Por qué no hay que tocar de oído

Porque tocar de oído es propio de un programador aficionado. Porque el código resultante cuando se toca de oído es ilegible y por más que funcione no es extensible ni escalable, lo que hace que resulte imposible de mantener.

Porque aunque se tenga la ilusión de que el desarrollo es más rápido, en el corto o en el largo plazo se notará que no es así y que es justamente lo contrario.

Porque no se aprende nada nuevo si se usa siempre lo que ya se sabe.

Porque si se programa de esa forma en un ámbito profesional se está estafando al cliente, al usuario y a otros programadores.

Cómo hacer para no tocar de oído

  • Estudiar la teoría de la tecnología con la que se trabaja. Esto consiste en buscar libros, leer artículos, tutoriales online y leer la documentación oficial. Sí, hay que sentarse y pasarse horas leyendo. Es así. Si no les gusta esto, se pueden dedicar a otra cosa.
  • Estudiar conceptos fundamentales de la programación. Son los conceptos que aplican para todos los lenguajes. Estructuras de datos (pilas, listas, colas y árboles), POO, patrones de diseño, son algunos de ellos.
  • Leer libros sobre buenas prácticas de programación. Hay unos cuantos muy buenos. Mientras escribo este artículo estoy leyendo Código Limpio, de Robert C. Martin (a.k.a. Uncle Bob)
  • Leer buen código escrito por buenos programadores. Basta con bajarse el código o ingresar a GitHub y mirar los fuentes de esa librería que tanto usamos y que tan popular es.

Así que ya saben. No toquen de oído.

Programen a conciencia.

Si te gustó este artículo, te invito a que me sigas en mi nuevo proyecto Crónicas Freelancer donde encontrarás más artículos como este.

--

--

Alejandro De Luca
Experiencias y pensamientos de un programador

Web developer. Ronin. Autodidacta. Linuxero. Creador de @mentesliberadas. Tomo mucho café, escribo y odio los yo-yo's.