2010-01-06 31 views
5

Hoy hice un checkout de algunos proyectos de código abierto solo por curiosidad. Así que después de un rato estaba mirando el código de OTTD (http://www.openttd.org/), simplemente no sabía por dónde empezar a buscar o cómo entender el proyecto. Sé que no puedes familiarizarte con proyectos tan grandes en uno o dos días, pero ¿cómo manejan esas cosas? ¿Dónde comienzas? ¿Qué buscas, etcétera?Cómo familiarizarse con los proyectos

+0

Lo que termine haciendo, es bueno mantener un registro de sus notas (construir líneas de comandos que ejecutó, funciones que rastreó, ideas que tuvo, etc.) No solo le ayudará si olvida, sino que también podría contrátelos al wiki del proyecto o haga una publicación en su propio blog sobre sus hallazgos. – HostileFork

Respuesta

1

Documentos para la fuente de OpenTTD: http://docs.openttd.org/, serán útiles.

Además, dev wiki: http://wiki.openttd.org/Development.

¿Cómo se familiariza?

Primero, intente compilar. Compílalo con tu plataforma y asegúrate de que esté funcionando correctamente.

Luego, elige un error o algo de la lista de tareas pendientes e intenta implementarlo, o simplemente juega y piensa en agregar/cambiar algo simple. Por supuesto, puede fallar y querer cambiar su tarea, pero cada intento será un paso hacia la comprensión de la estructura de un proyecto.


Para mí, la parte compiladora es la parte más molesta. Creo que es porque estoy en Windows :-) Casi nunca he logrado compilar algo desde cero sin días de pensar y enviar spam a las personas, etc. Pero rápidamente me acostumbro a muchos proyectos que no son necesarios compilar, como como está escrito en PHP o Python o JavaScript.

Acabo de hacer algo con el código. Cambió algunas constantes importantes :-) Escribiendo complementos. Lo que sea. Y un día comprendí que ahora, si elijo casi cualquier tarea del rastreador de problemas, podré descubrir al menos dónde se encuentra el problema.

¡Si solo está leyendo código, no lo va a saber bien! Incluso los libros de ficción (buenos) no se pueden entender completamente solo leyéndolos una y otra vez.

0

Muchas veces es útil tener mucho papel borrador, o alguna forma de herramienta de diagramación rápida: cuando se encuentre con cosas, describa cómo se relacionan entre sí. Con el tiempo obtendrás una idea de cómo se presentan las cosas y qué interactúa con qué, algo así como un diagrama de clase ad-hoc (pero mucho más libre).

Elija un punto de partida que pueda identificar: tal vez este sea el proceso de entrada del usuario, tal vez es la secuencia de inicialización del programa y siga el flujo de ejecución para hacerse una idea de cómo ocurren las cosas.

Afortunadamente, el código fuente tenía comentarios útiles, tal vez incluso, en el caso de OpenTTD, comentarios estilo doxygen, por lo que puede obtener un buen set of docs para ello.

1
  1. Descargue el código.

  2. Configúrelo en su IDE favorito para que se cree y ejecute.

  3. Establecer un punto de interrupción al principio de main()

  4. Pasa algún tiempo de calidad paso a paso por el depurador :)

le da una buena idea de cómo las cosas se ponen juntos, dónde están las dependencias y qué sucede cuando haces cosas en la aplicación.

1

Otra buena estrategia es comenzar con algún software que use, incluso uno en el que confíe. Luego encuentra el error más molesto y arréglalo.

Cuestiones relacionadas