Cómo construir una comprensión de una base de código

Okay. Básicamente esto se conoce como ingeniería inversa. Si tiene fuentes, facilita el proceso, pero aún así …

  1. Utiliza el producto como usuario para comprender lo que hace en todas las funciones.
  2. Comienza a trabajar en algo desde llegar al código que actualmente hace la función. para hacer de eso una de las herramientas más importantes son las cadenas. busca código para las cadenas que se usan en la interfaz, luego llega al código que lo usa.
  3. Para mí, las herramientas de visualización de estructura de código como varios constructores UML son inútiles, nunca pude obtener conocimiento de ellas.
  4. Simplemente lea las fuentes para comprender los patrones y estructuras generales.
  5. Pregunte a las personas que tienen conocimiento. Este es el último recurso, ya que las personas están ocupadas y la vida es corta. Pregunte después de haber hecho todo lo anterior.

More Interesting

Cómo optimizar múltiples si más en el programa

¿Cómo verifica Facebook si hay nuevas notificaciones?

¿Por qué se eligió Erlang para usar en el chat de Facebook?

¿Puedo obtener trabajos de prueba de software después de cambiar mi dominio?

¿Cuáles son las diferencias clave entre las metodologías ágil y rup?

¿Qué pasos debo tomar para convertirme en un banquero de inversión? (En este momento estoy trabajando como ingeniero de software con 1 año de experiencia)

¿Cuál es tu software Mac Swimlane favorito?

¿Cuál fue la primera reverberación basada en software disponible? Sé que los VST no se desarrollaron hasta mediados de los noventa, pero ¿qué reverberación de software digital sin hardware podría usar en los años ochenta, presumiblemente por una audiencia increíblemente mínima?

¿Cómo debería tratar la gente con un miembro del equipo que establece un alto nivel para el equipo en ingeniería de software?

¿Cuál es el mejor / más fácil / más barato software para hacer una aplicación?

¿La gran mayoría de las personas odian PHP únicamente porque otras personas lo hacen?

¿Quiénes son los mejores desarrolladores de aplicaciones iOS en Silicon Valley?

¿Alguna vez has visto un prototipo de software "desechable" en realidad desechado cuando llegó el momento de desarrollar el sistema de producción?

¿Qué beneficios ofrece MemSQL sobre la ejecución de una base de datos MySQL en ramdisk?

¿Qué debo hacer cuando mi jefe solicita una tarea de edición de imágenes mientras estoy enfocado en una tarea de programación como desarrollador de software?