Muchos proyectos en realidad interdependen entre sí dentro de la organización. Así que un ejemplo común es tu sistema de diseño. No sé cuándo comenzó esta tendencia, pero en algún momento, cada empresa quería su propio sistema de diseño. Decían, no, no voy a usar tal vez ShadC y UI, o tal vez Material UI. Construiremos el nuestro porque somos únicos. No sé quién es único. Y luego bibliotecas compartidas, ¿verdad? Tienes algún código que en realidad se comparte entre múltiples proyectos, y dices, oh, ¿dónde debería poner este código? Así que está bien, creemos una biblioteca compartida. Y lo ponemos allí. Necesidad de cambios atómicos. Creo que esta es una de las cosas con las que en Selonis estábamos luchando mucho. Solíamos hacer cambios en una pequeña biblioteca, actualizarla en 30 lugares, y ahora dos aplicaciones se rompieron. Así que nuestros commits en realidad se han dispersado ahora en 32 bibliotecas diferentes, o 32 bases de código diferentes. Así que con monorepos, en realidad no ves esto. Tienes en realidad un cambio disruptivo, un solo commit, ¿verdad? Porque lo que estás cambiando, y en realidad actualizas todo el monorepo con el mismo cambio. Por ejemplo, un simple cambio de API, ¿verdad? Agregaste un nuevo parámetro. Solo piensa en ir a 30 bases de código solo para actualizar un parámetro, y estar en un monorepo donde sabes, oh, si hago algo, mi build se romperá de todos modos. Y actualizaciones de API también. Así que estos son múltiples casos donde obtienes la ventaja de cambios atómicos.
Así que todavía tengo 10 minutos, así que iré un poco más rápido. Y refactorización a gran escala. Un ejemplo simple puede ser actualizar tu versión de React, ¿verdad? Así que si tienes múltiples proyectos con múltiples o diferentes versiones de React, y hay un cambio disruptivo, se convierte en un dolor en realidad actualizarlos. Créeme, la gente en realidad deja las empresas para cuando terminan todas las migraciones. Pero en monorepos, en realidad puedes hacerlo en una sola actualización, ¿verdad? Y luego, fuerte cultura de reutilización de código. Dejamos de reinventar la rueda, porque todos están usando la misma base de código, así que todos saben lo que está pasando. Y productos interconectados, por ejemplo, micro frontend y backends compartidos. Este es también un caso de uso donde en realidad puedes simplemente seguir adelante y usar monorepos. ¿Por qué el equipo ama el monorepo? Quiero decir, en Selonis, comenzamos desde cero. Así que comenzamos, como, incorporando, hablando con los equipos, y luego comenzamos a incorporarlos a todos. Inicialmente, eran resistentes, como cualquiera lo sería. Pero una vez que vieron, como, ahora estamos compartiendo más código, y tenemos más código reutilizable, dijeron, como, está bien, eso está absolutamente bien.
Comments