black and silver laptop computer on brown wooden table

Los tres tipos de código

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 base de código, cualquier lenguaje, cualquier tecnología o proyecto de código abierto. Ya sea que esté escribiendo HTML o CSS o creando un componente React, pensar en estas diferentes categorías me ha ayudado a descubrir qué refactorizar y priorizar, y qué dejar solo 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 mucho sentido cuando lo lees. No hay necesidad de refactorizarlo, y realiza su función de una manera que no hace que quieras arrojarte a un río. El código aburrido es un buen código. No da un vuelco y no intenta impresionarlo. Puede usarlo sin tener que escribir aún más código o realizar trucos de ingeniería. El código aburrido hace exactamente lo que dice en la lata y nunca causa sorpresas.

Esta función tiene sentido, este accesorio está claramente nombrado, este componente React es sencillo. No hay bucles dentro de los bucles, no se requiere gimnasia mental aquí.

Sin embargo, el código aburrido es casi imposible de escribir porque nuestra comprensión es casi siempre incompleta cuando comenzamos a abordar un problema. Solo mire cuántas consideraciones puede incluir un estilo en un párrafo simple para el contraste. Para escribir código aburrido, debemos ser diligentes, debemos refactorizar sin cesar y debemos cuidar la base de código más allá de un cheque de pago al final del 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 está loco y no tiene ningún sentido. Es el tipo de código que apenas podemos leer, pero está enterrado tan profundamente en la base de código que es casi imposible cambiarlo de todos modos. ¡Sin embargo! No se está filtrando a otras partes de nuestro código, por lo que podemos ignorarlo. Puede que no sea bonito, y probablemente no queremos mirarlo mientras vivamos, pero no está causando ningún daño de forma activa.

Es este tipo de código del que 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á enterrado profundamente.

Código radiactivo

El código radiactivo es el verdadero problema en el corazón de cada equipo de ingeniería. Es el tipo de código de “no vamos a trabajar hoy”. Es lo que no solo es malo, sino que está envenenando activamente nuestra base de código y empeorando todo con el tiempo. Imagine una base de código como un reactor nuclear; El código radioactivo es lo que ha violado el contenedor y ahora se está filtrando en cada parte de nuestra base de código.

¿Un ejemplo? Para nosotros en Gusto y en el equipo de sistemas de diseño, consideraría que nuestros componentes de formulario son radiactivos. Cada componente causa más problemas porque nunca podemos usar el componente como está; tenemos que hackearlo para obtener 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 alienta a todos en el 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 accesorio formFieldClass en un componente y wrapperClass en otro. Hay un propType llamado isDefaultLayout y todos lo configuran como falso y escriben clases CSS personalizadas sobre él. En otras palabras, el código radioactivo no solo 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 de la base de código. Porque el archivo que estamos viendo ahora depende 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, como nuestros componentes de formulario, hace que sea imposible confiar en la base de código.

El código radiactivo no solo es malo para nosotros y nuestra base de código, sino que también es malo para nuestro equipo. Fomenta los malos hábitos, la crueldad en los hilos flojos, sin mencionar que causa fricción entre los miembros del equipo que es difícil de medir. El código radioactivo también alienta a otros equipos de una empresa a volverse corruptos 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í misma. Cualquiera puede escribir este tipo de código, sin importar el idioma o el sistema o la línea cuando no están prestando suficiente atención al problema. O cuando intentan ser demasiado inteligentes. O cuando intentan impresionar a alguien.

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

Leave a Comment

Your email address will not be published. Required fields are marked *