Che cos'è un buon flusso di lavoro per un principiante C ++?

4

Desidero diventare un programmatore scientifico C ++ più serio. Per fare ciò, ho bisogno di uno stile coerente di flusso di lavoro (ad esempio codifica, sviluppo basato su test, ecc.). La mia domanda è semplicemente quale tipo di flusso di lavoro dovrei prendere in considerazione? Ho familiarità con Linux e Mac, e preferisco usare strumenti gratuiti come cppcheck, valgrind, g ++, ecc. Preferisco usare Qt e Boost all'interno della mia toolbox di programmazione, e sto prendendo in considerazione l'uso di oggetti mock (o Google Mock o MockPP) all'interno di il TDD. In genere utilizzo vim per il mio editor.

In sostanza, dovrei fare qualcosa di simile al seguente:

TDD -> code -> cppcheck -> valgrind -> debug -> repeat until ready to use profilers and coverage mechanisms

o, dovrei perseguire in qualche altro modo? Mi rendo conto che le opinioni possono variare, e capisco anche che prima devo prendere il tempo di pensare attraverso il processo e documentare i miei pensieri sia scritti che UML prima della codifica, e so anche che dovrei documentare il codice mentre passo a scrivere il codice.

Tutti i pensieri saranno apprezzati.

    
posta Tim 22.08.2011 - 00:32
fonte

3 risposte

4

Prima leggi le annotazioni C ++. È gratuito e online.

Onestamente non penso che tu stia meglio iniziando con TDD. TDD è davvero interessante una volta realizzato il suo vero valore. E per farlo, credo che devi avere la tua parte di debilitante agonizzante.

Quindi prima potresti voler implementare solo alcuni programmi casuali in C ++. Solo giochi di trucco e simili, o trova qualcuno che vuole fare le cose (e magari ricavarne un po 'di soldi). Prendi seriamente la tua implementazione.

Quindi, una volta che pensi di essere veramente bravo a programmare (a questo punto, programmare per te probabilmente significa "fare cose super complesse alla fine - e magicamente - lavorare", leggere alcuni libri sul Test. Guarda alcuni GoogleTechTalks su test.

Buoni autori da ricordare: Robert C. Martin, Michael Feathers, Martin Fowler, Kent Beck. Quindi cerca alcuni video sul codice pulito e verificabile di Misko Hevery di Google.

    
risposta data 11.09.2011 - 20:26
fonte
6

Hai dimenticato qualcosa ... pensando. I programmatori non fanno abbastanza pensare.

Pensa - > Design - > TDD - > codice - > Pensaci ancora - > cppcheck - > valgrind - > debug - > ripeti fino a quando non sarai pronto per utilizzare profiler e meccanismi di copertura - > Pensaci ancora

    
risposta data 22.08.2011 - 04:23
fonte
2

Non cadere nell'ipotesi e amp; controlla la trappola della programmazione in c ++. Cioè, non entrare in una stretta modifica - > compila (ottieni errore) - > modifica ciclo senza capire cosa sta succedendo.

Se non capisci perché l'aggiunta di una e commerciale o la rimozione di parentesi risolva un errore / avvertimento del compilatore, prenditi il tempo necessario per capire.

Ottima risorsa per comprendere l'idiosincrasia di c ++: link

    
risposta data 11.09.2011 - 20:02
fonte

Leggi altre domande sui tag