Yeda AI Tips · #141

English

Planea el funeral antes de construir

Planea el funeral antes de escribir el código. La mayoría de los equipos son excelentes construyendo y pésimos eliminando — así cada flag "temporal", cada endpoint improvisado y cada abstracción ingeniosa se acumula hasta que nadie se atreve a tocarlo. La solución es una sola pregunta en tiempo de diseño: ¿cómo borraríamos esto en tres años? Hazla antes de comprometerte, y la respuesta cambia lo que construyes.

Por qué la eliminación empieza en el diseño

La eliminación se decide mucho antes de que alguien abra un PR de borrado. Como lo plantea el equipo de ingeniería de Google en Software Engineering at Google, "choices of programming language, software architecture, team composition, and even company policy and culture all impact how easy it will be to eventually remove a system." No puedes agregar la capacidad de borrado después — o la diseñaste o no.

Dos fuerzas hacen difícil la eliminación, y ambas son más baratas de combatir desde el inicio:

Las preguntas de diseño

Antes de escribir algo nuevo, responde estas en papel:

PreguntaCómo se ve una buena respuesta
¿Cómo lo apago?Un flag, una línea de configuración — no un redespliegue en cinco servicios.
¿Quién dependerá de esto?Una interfaz nombrada y documentada; los internos quedan privados para que nadie se acople a ellos.
¿Cómo migran los consumidores?Existe un camino de reemplazo antes del lanzamiento, no después del correo de deprecación.
¿Puedo eliminarlo por partes?Sí — el sistema es descomponible, así el borrado es incremental, no de golpe.

Si alguna respuesta es "no estoy seguro", encontraste la parte que será cara de eliminar.

Los flags son inventario, no son gratis

Los feature flags son el ejemplo clásico de construir-barato, eliminar-caro. El equipo de Martin Fowler los presenta como inventario con un costo de acarreo: "It's very important to retire release flags once the pending features have bedded down in production. This involves removing the definitions on the configuration file and all the code that uses them. Otherwise you will get a pile of toggles that nobody can remember how to use." Cada flag es una bifurcación en tu flujo de control que alguien tiene que recordar colapsar. Agrega el ticket de eliminación en el mismo PR que agrega el flag.

Movidas de experto

Los sistemas que filtran su implementación por todas partes son dolorosos de eliminar. Los diseñados para removerse siguen siendo baratos. Pregunta cómo lo borrarías — y deja que esa respuesta guíe la construcción.

Recursos

¿Construyendo algo nuevo? Yeda AI diseña, audita y despliega sistemas LLM en producción que se mantienen baratos de cambiar y baratos de eliminar.

Habla con nosotros · Lee el blog