2009-02-19 16 views
6

Digamos que tienes que implementar alguna funcionalidad que no sea trivial (tomará al menos 1 semana de trabajo). Tiene una biblioteca SDK/API/que contiene (numerosos) ejemplos de código que demuestran el uso de la parte del SDK para implementar esa funcionalidad.¿Cómo abordar el aprendizaje de una nueva biblioteca SDK/API /?

¿Cómo enfoca el aprendizaje de todas las muestras, extrae la información necesaria, las técnicas, etc. para usarlas para implementar lo 'real'. Las preguntas claves son:

  • ¿Utiliza alguna herramienta para la creación de diagramas de flujo de control, las interacciones entre las funciones del SDK, y la muestra en sí? ¿Qué tipo de diagramas encuentras útil? (Estaba pensando que el diagrama de secuencia UML puede ser bastante útil junto con el depurador en este caso).

  • ¿Cómo se guarda la información relevante ya menudo interrelacionada sobre llamadas a funciones SDK/API, la estructura general y el orden de las llamadas en los programas de ejemplo que se deben usar como referencia? Mapas mentales, algunas notas de texto sin formato, comentarios en el código de ejemplos, alguna refactorización del código de muestra para adaptarse a su estilo de codificación personal para facilitar el aprendizaje?

Respuesta

5

Personalmente utilizo el enfoque de creación de prototipos. Mantenga el desarrollo a iteraciones manejables. Al principio, esas iteraciones son realmente pequeñas. Como parte de esto, no tema tirar el código y comenzar de nuevo (cada vez que digo que en algún lugar un gerente de proyecto tiene un ataque al corazón).

Si su tarea particular no se puede dividir fácil o razonablemente en tareas de inicio realmente pequeñas, empiece con un sustituto hasta que empiece.

Desea mantenerlo lo más simple posible (el proverbial "Hola mundo") solo para familiarizarse con la construcción, implementación, depuración, cómo son los mensajes de error, las cosas simples que pueden y salen mal en el comenzando, etc.

No llego tan lejos como para usar una herramienta de diagramación lo siento (apenas veo el punto en eso para mi trabajo).

Tan pronto como empiece a probar cosas lo entenderá, incluso si al principio no tiene idea de qué está pasando y por qué lo que está haciendo funciona (o no).

+0

Tengo que estar de acuerdo. Codifique la comprensión de los primeros auxilios de los prototipos. Sin ellos y la comprensión que le permiten, no puede esperar producir diagramas modelo precisos de todos modos. –

2

Normalmente compilo y modifico los ejemplos, haciéndolos encajar en algo que necesito hacer yo mismo. Tiendo a hacer esto al usar y anotar los documentos correspondientes. Siendo un poco de la vieja escuela, la herramienta que suelo usar para diagramar es un lápiz, o para las cosas realmente complejas dos o más plumas de colores.

1

No soy un programador avezado. De hecho, estoy aprendiendo C++ y he estado estudiando el lenguaje principalmente de libros. Cuando trato de desviarme de los libros (lo que sucede mucho porque quiero comenzar a contribuir con programas como LibreOffice), por ejemplo, me encuentro perdido. Además, cuando uso la funcionalidad de la biblioteca, mis implementaciones son incorrectas porque realmente no entiendo cómo se creó la biblioteca y por qué las cosas deben hacerse de esa manera. Cuando miro el código fuente de la muestra, veo cómo se hace algo, pero no entiendo por qué se hace de esa manera, lo que conduce a un diseño deficiente de mis programas. Y como resultado, constantemente estoy adivinando cómo hacer algo y enfrentar los errores a medida que los encuentro. Muy improductivo y frustrante.

Volviendo al comentario de mi libro, dos libros que he preparado de principio a fin son Ivor Horton's Beginning Visual C++ 2010 y Starting Out with C++: Early Objects (7ma edición).Lo que realmente me encantó del libro de Ivor Horton es que contenía una explicación completa de por qué algo debe hacerse de cierta manera. Por ejemplo, antes de que comenzara la programación de Windows, se dieron muchas explicaciones sobre cómo funciona Windows. Comprender cómo y por qué las cosas funcionan de cierta manera realmente ayuda a desarrollar software.

Para contribuir con mis dos centavos para responder a su pregunta. Creo que el mejor enfoque es recoger libros bien escritos y sentarse y comenzar a aprender sobre esa biblioteca, API, SDK, lo que sea en un enfoque estructurado que ofrezca ejemplos del mundo real junto con explicaciones sobre cómo y por qué las cosas se implementan cuando son.

No sé si extrañé su pregunta por completo, pero no creo que lo haya hecho.

¡Salud!

Esta fue mi primera publicación en este sitio. No me desgarres demasiado. (:

Cuestiones relacionadas