2009-02-19 4 views
6

Diciamo che è necessario implementare alcune funzionalità che non siano banali (ci vorranno almeno 1 settimana lavorativa). Si dispone di una libreria SDK/API che contiene (numerosi) esempi di codice che dimostrano l'utilizzo della parte dell'SDK per l'implementazione di tale funzionalità.Come avvicinarsi all'apprendimento di un nuovo SDK/API/libreria?

Come ti avvicini all'apprendimento di tutti i campioni, estrai le informazioni necessarie, le tecniche, ecc. Per utilizzarle per implementare la 'cosa reale'. Le domande chiave sono:

  • Usi qualche strumento per diagrammi di flusso di controllo, le interazioni tra le funzioni del SDK, e il campione in sé? Quale tipo di diagrammi trovi utile? (Stavo pensando che il diagramma di sequenza UML può essere abbastanza utile insieme al debugger in questo caso).

  • Come mantenere le informazioni rilevanti e spesso correlate tra loro sulle chiamate alle funzioni SDK/API, la struttura generale e l'ordine delle chiamate nei programmi di esempio che devono essere utilizzati come riferimento - mappe mentali, alcune note in testo semplice, aggiunte commenti nel codice campioni, alcuni refactoring del codice di esempio per adattarsi al tuo stile di codifica personale al fine di rendere l'apprendimento più facile?

risposta

5

Personalmente io uso l'approccio di prototipazione. Mantenere lo sviluppo in iterazioni gestibili. All'inizio, quelle iterazioni sono davvero piccole. Come parte di questo, non aver paura di buttar via il codice e ricominciare da capo (ogni volta che dico che da qualche parte un project manager ha un infarto).

Se il tuo compito particolare non può essere facilmente o ragionevolmente suddiviso in compiti di partenza veramente piccoli, allora inizia con qualche sostituto fino a quando non inizierai.

Si desidera mantenerlo il più semplice possibile (il proverbiale "Hello world") solo per familiarizzare con la creazione, la distribuzione, il debugging, quali sono i messaggi di errore, le cose semplici che possono e che possono andare storte nel inizio, ecc.

Non mi spingo a usare uno strumento di diagrammi scusate (a malapena vedo il punto in questo per il mio lavoro).

Non appena inizi a provare le cose, ne prendi il controllo, anche se all'inizio non hai idea di cosa sta succedendo e perché quello che stai facendo funziona (o non funziona).

+0

Devo concordare che i prototipi del codice capiscano la comprensione del primo soccorso, senza di loro e la comprensione che consentono non è possibile sperare di produrre comunque diagrammi di modello accurati. –

2

Di solito compilo e modifico gli esempi, rendendoli adatti a qualcosa che devo fare da solo. Tendo a farlo mentre utilizzo e annota i documenti corrispondenti. Essendo un po 'vecchia scuola, lo strumento che uso di solito per fare diagrammi è una matita, o per le cose davvero complesse due o più penne colorate.

1

Non sono affatto un programmatore esperto. In effetti, sto imparando il C++ e ho studiato la lingua principalmente dai libri. Quando cerco di allontanarmi dai libri (cosa che accade molto perché voglio iniziare a contribuire a programmi come LibreOffice), per esempio, mi ritrovo perso. Inoltre, quando utilizzo la funzionalità della libreria, le mie implementazioni sono errate perché non capisco veramente come è stata creata la libreria e/o perché le cose devono essere fatte in quel modo. Quando guardo il codice sorgente di esempio, vedo come si fa qualcosa, ma non capisco perché sia ​​fatto in quel modo che porta a una progettazione scadente dei miei programmi. E come risultato, sto costantemente cercando di capire come fare qualcosa e affrontare gli errori mentre li incontro. Molto improduttivo e frustrante.

Tornando al commento del mio libro, due libri che ho preparato da copertina a copertina più di una volta sono Beginning Visual C++ 2010 di Ivor Horton e Starting Out con C++: Early Objects (7th Edition).Quello che ho veramente amato del libro di Ivor Horton è che conteneva una spiegazione esaustiva del perché qualcosa deve essere fatto in un certo modo. Ad esempio, prima dell'inizio di qualsiasi programmazione Windows, sono state fornite molte spiegazioni su come funziona Windows. Capire come e perché le cose funzionano in un certo modo aiuta davvero a sviluppare il software.

Quindi per contribuire con i miei due centesimi a rispondere alla tua domanda. Penso che l'approccio migliore sia raccogliere libri scritti e sedersi e iniziare a conoscere la libreria, l'API, l'SDK, qualsiasi cosa in un approccio strutturato che offre esempi del mondo reale insieme a spiegazioni su come e perché le cose vengono implementate in quanto siamo.

Non so se ho perso totalmente la tua domanda, ma non credo di averlo fatto.

Cheers!

Questo è stato il mio primo post su questo sito. Non strapparmi troppo. (: