Insinuó la respuesta en los detalles de su pregunta. ” PD No hay documentación disponible ”
Una estrategia increíblemente valiosa para comprender una gran base de código desconocida es documentarla usted mismo. Su equipo apreciará muchísimo lo que está haciendo, y aprenderá toda la base de código en el proceso.
Comience en la parte inferior. Haga una lista de todos los archivos, clasifíquelos: “main.c” y sus amigos son “top dogs”, un montón de cosas estarán “soportando”, y utils.c db.c y tales serán “low level”.
- Cómo determinar si una función recursiva es más eficiente
- ¿Qué tan seguro es poner un software en la nube?
- ¿Por qué debería aprender Machine Learning siendo un estudiante de pregrado de CS?
- ¿Tiene alguna experiencia en el empleo de desarrolladores que no sean de su país de residencia?
- Noté que muchos ingenieros de software prefieren programar en Linux, pero acceden de forma remota a través de una computadora portátil OS X. ¿Volvemos a la configuración de terminales / mainframes?
Documente las rutinas de nivel más bajo primero. Estos NO tienen dependencias de otros módulos en la base del código (pero pueden tener dependencias del sistema, por supuesto).
¿Qué hacen? ¿Qué hacen que sea sorprendente ? ¿Qué hacen que te hace preguntarte por qué ? Documente el diablo de ellos.
Luego sube un nivel. Para cada archivo de bajo nivel, busque todos los archivos que lo incluyen. Ordénelos y encuentre los que SOLO lo incluyen y tal vez algunos otros archivos de bajo nivel. Documente esos. ¿Qué están haciendo? ¿Qué encapsulaciones proporcionan, convirtiendo las cosas de bajo nivel en algo más específico de dominio?
No dude en volver a sumergirse en los archivos de bajo nivel y refinar su documentación a medida que aprende más sobre lo que están haciendo sus consumidores y cómo están usando las cosas de bajo nivel.
Recorra todos los archivos de nivel más bajo y haga esa tarea de subir un nivel.
Una vez hecho esto, mueva su enfoque hacia arriba un nivel y repita el proceso. Pase sobre cada archivo “de apoyo”, documentándolo mejor, en función de lo que ha aprendido de lo que ha hecho hasta ahora.
Alcanza un nivel para cada archivo: busca los archivos que lo incluyen y comienza a documentar lo que están haciendo como consumidores de ese archivo. Documente el resto de lo que hay en cada uno de esos archivos.
Luego, tal como lo hizo antes … repita todos los archivos de soporte y haga esa tarea de un nivel superior. Encuentre todos los archivos que los incluyen y documente lo que están haciendo, ya que actúan como consumidores de esos archivos de soporte.
Si trata toda la base de código como un gráfico de dependencia, con main.c en la parte superior del árbol, y trabaja desde abajo como lo describí, terminará con una documentación extremadamente buena de lo que está haciendo cada archivo y por qué.
… y así es como aprende una base de código indocumentada: la documenta.