Este es tu objetivo. Por así decirlo, desde la perspectiva de la ingeniería. Quieres alcanzar una cierta architecture. Quieres tener una cierta forma de componer tus componentes. Quieres tener una forma de consumir un sistema de design, digamos.
Así que aquí tienes todos tus patterns y tu architecture. Puedes dibujar tus diagramas, documentas cómo trabaja el equipo de ingeniería, cómo piensan a muy alto nivel sobre hacia dónde quieren que vaya la base de código. Pero también luego profundizas, bajas y bajas en términos de abstracción.
Así que puedes tener en tus prácticas, ¿cómo estructuras normalmente el code? ¿Creas carpetas para cada componente? ¿Divides los archivos por función? ¿Divides los archivos por característica? ¿Cómo estructuras simplemente tu code en general? E incluso más abajo a nivel de code, puedes tener tus directrices de codificación. Y no estoy pensando necesariamente aquí en cosas que pueden ser automatizadas, sino simplemente en patterns que tú y tu equipo descubren, oye, hay tres formas, y tal como mostró Nick, hay tres formas de hacer algo. Especialmente con React. Escojamos una. Documentemos nuestra forma de trabajar. Usamos Code Sandbox, estas son las directrices generales de codificación que tenemos internamente y a las que hacemos referencia en todos los PRs.
Así que siempre que hay una discussion en un PR, como ¿deberías componer componentes así o así? Oh, sí, en realidad, hay una directriz para eso. Si no hay una directriz para eso, ahora es un buen momento para, ya sabes, añadirla allí. Así que estas son prácticas, ¿verdad? Esto es el... Como esto te está dando la Estrella del Norte de lo que quieres lograr con tu proceso de refactorización. Y ahora pasamos al inventario, que puede ser el más importante y puede ser el más pasado por alto.
Y en mis experiencias pasadas con diferentes equipos, noté que mucha gente trata esto de manera bastante superficial. Así que el inventario es acerca de recopilar todos los hechos. ¿Qué sucede en la base de código? ¿Ahora qué tan lejos estamos del resultado deseado, verdad? Así que esto es acerca de registrar cosas, digamos, en el backlog. Eso es una cosa que probablemente es la más común cuando las personas tienen una deuda técnica que saben que quieren refactorizar. Probablemente crearán un ticket.
Lo que notamos con los tickets de backlog en code sandbox es que tienden a simplemente pudrirse allí en el backlog porque nadie los revisa. Así que empezamos una nueva cosa llamada la contabilidad de deuda técnica, que es un documento separado al que hacemos referencia, de nuevo, en los PRs. Siempre que un PR, digamos, introduce una deuda técnica por diferentes razones, como no falta de tiempo o simplemente aún no tenemos la abstracción para algo, decimos, OK, pongamos esto en el documento de contabilidad de deuda técnica. Expliquémoslo allí. ¿Por qué introdujimos la deuda técnica? ¿Cuál es una posible solución para ello? ¿Quién la posee? ¿Quién no es necesariamente quien la resolverá, sino más bien quien levantará la bandera de que, oye, sabes, esto es importante y aún no lo hemos resuelto? Y luego, finalmente, le asignamos una prioridad. Y esto también es parte del proceso de inventario.
Comments