Los tres tipos de código

Índice
  1. Código aburrido
  2. Código de mina de sal
  3. Código radiactivo

Cada vez que comienzo un nuevo proyecto, organizo el código que estoy viendo en tres tipos o categorías, si lo desea. Y creo que estos tipos se pueden aplicar a cualquier código base, cualquier lenguaje, cualquier tecnología o proyecto de código abierto. Ya sea que esté escribiendo HTML o CSS o creando un componente de React, pensar en estas diferentes categorías me ha ayudado a descubrir qué refactorizar y priorizar, y qué dejar en paz por ahora.

Esas categorías: Código aburrido, Código de minas de sal y Código radiactivo.

Dejame explicar.

Código aburrido

El código aburrido es cuando tiene perfecto sentido cuando lo lees. No es necesario refactorizarlo y realiza su función de una manera que no te da ganas de tirarte a un río. El código aburrido es un buen código. No hace un kick-flip y no intenta impresionarte. Puede usarlo sin tener que escribir aún más código o diseñar trucos encima. El código aburrido hace exactamente lo que dice y nunca causa sorpresas.

Esta función tiene sentido, este accesorio tiene un nombre claro y este componente de React es sencillo. No hay bucles dentro de bucles, aquí no se requiere gimnasia mental.

Sin embargo, es casi imposible escribir código aburrido porque nuestra comprensión del mismo casi siempre es incompleta cuando comenzamos a abordar un problema. Basta con mirar cuántas consideraciones se pueden incluir en el diseño de un párrafo simple para lograr contraste . Para escribir código aburrido, debemos ser diligentes, debemos refactorizar sin cesar y debemos cuidar la base del código más allá de un cheque de pago a fin de mes.

El código aburrido es bueno porque el código aburrido es amable.

Código de mina de sal

Este es el tipo de código que es una locura y no tiene ningún sentido. Es el tipo de código que apenas podemos leer pero que está tan profundamente enterrado en el código base que de todos modos es casi imposible cambiarlo. ¡Sin embargo! No se filtra a otras partes de nuestro código, por lo que podemos ignorarlo en su mayoría. Puede que no sea bonito y probablemente no queramos verlo mientras vivamos, pero no está causando ningún daño activamente.

Es este tipo de código del que casi podemos olvidarnos. Es el tipo de código que es peligroso si se abre y se manipula, pero por ahora todo está bien.

El problema está profundamente enterrado.

Código radiactivo

El código radiactivo es el verdadero problema central de todo equipo de ingeniería. Es el tipo de código “no vayamos a trabajar hoy”. Son las cosas que no sólo son malas sino que están envenenando activamente nuestro código base y empeorando todo con el tiempo. Imagine una base de código como un reactor nuclear; El código radiactivo es lo que rompió el contenedor y ahora se está filtrando a cada parte de nuestro código base.

¿Un ejemplo? Para nosotros en Gusto y en el equipo de sistemas de diseño, consideraría que nuestros componentes son radiactivos. Cada componente causa más problemas porque nunca podremos utilizar el componente tal cual; Tenemos que hackearlo para conseguir lo que queremos. Cada vez que alguien usa este código, tiene que escribir aún más código encima, lo que empeora las cosas con el tiempo y anima a todos los miembros del equipo a hacer lo mismo.

En nuestro sistema de diseño, cuando queremos agregar un nombre de clase al div que envuelve un elemento de formulario, debemos usar el formFieldClassaccesorio en un componente y wrapperClassen otro. Hay un propTypellamado isDefaultLayouty todos lo configuran falsey escriben clases CSS personalizadas encima. En otras palabras, el código radiactivo no sólo nos dificulta comprender todo este código sin sentido, sino que también hace que sea cada vez más difícil comprender otras partes del código base. Porque el archivo que estamos viendo ahora tiene dependencias de ocho cosas diferentes que no podemos ver. El resultado de eliminar este código radiactivo significa cambiar todo lo demás que depende de él.

En otras palabras, el código radiactivo, al igual que los componentes de nuestro formulario, hace imposible que se pueda confiar en el código base.

El código radiactivo no solo es malo para nosotros y nuestro código base, sino que también es malo para nuestro equipo. Fomenta los malos hábitos y la crueldad en los hilos de Slack, sin mencionar que provoca una fricción entre los miembros del equipo que es difícil de medir. El código radiactivo también anima a otros equipos de una empresa a actuar de forma deshonesta e introducir nuevas tecnologías en una base de código cuando el problema del código radiactivo no es la tecnología en sí. Cualquiera puede escribir este tipo de código, independientemente del idioma, el sistema o el linting, cuando no presta suficiente atención al problema. O cuando intentan ser demasiado inteligentes. O cuando intentan impresionar a alguien.

¿Cómo reparamos el código radiactivo? Bueno, debemos dibujar un círculo alrededor y contener la locura que se está filtrando a otras partes del código base. Entonces debemos hacer algo absolutamente heroico: debemos hacerlo aburrido.

SUSCRÍBETE A NUESTRO BOLETÍN 
No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Este sitio web utiliza cookies para mejorar tu experiencia mientras navegas por él. Este sitio web utiliza cookies para mejorar tu experiencia de usuario. Al continuar navegando, aceptas su uso. Mas informacion