Multitasking come tenere traccia di ciò che stai facendo

6

Sono in una lunga attività di debug, ho bisogno di capire dove collegare alcune funzionalità extra di cui ho bisogno.

È un lavoro ingombrante, e ho eseguito il debug di 2 giorni interi, e sono al terzo posto, ma lavoro in più progetti, e ci ritornerò dopo quasi una settimana, ed è stato difficile ottenere tornando al punto in cui ho lasciato, e ricordo di cosa si trattava, e quali conclusioni avevo già raggiunto.

Come fai a tenere traccia di ciò che stavi facendo / pensando in questo tipo di scenario in cui i commenti non sono in realtà la "cosa giusta" da fare? Faccio alcuni commenti nel mio codice di test, oltre ad alcuni messaggi informativi di git / hg commit, ma è un po 'sporco ... la carta scritta potrebbe essere la risposta ...

    
posta Lacrymology 29.08.2011 - 18:00
fonte

3 risposte

2

per lavorare su progetti multipli e complessi, indipendentemente dal fatto che implichino lo sviluppo di software, non ci sono sostituti per scrivere le cose.

Ho usato software di tracciamento dei bug, fogli di calcolo, wiki personali, un database sviluppato autonomamente e probabilmente una dozzina di altri metodi che ho dimenticato nel corso degli anni. Scrivere le cose ti aiuta a ricordare non solo cosa hai fatto, ma perché l'hai fatto.

Quando si tratta specificamente di eseguire il debug, non c'è motivo per cui puoi controllare il codice in corso nel tuo sistema di controllo della versione personale. Puoi eliminarlo prima di eseguire il commit nel repository di origine centrale.

    
risposta data 29.08.2011 - 19:54
fonte
5

Non sono sicuro per te, ma per me i Test automatici (test delle unità se possibile) sono un buon modo per scoprire come funziona il codice e sapere che non funziona come previsto.

I test automatici sostituiscono il debugging, cambiando le conoscenze e le verifiche verificate dallo sviluppatore con memoria di riserva, in uno controllato esplicitamente da file.

Quando torni al tuo lavoro più tardi, sarai nello stesso punto dopo alcuni secondi di esecuzione dei test, invece di cercare di recuperare il tuo contesto da vecchi ricordi e di ripetere una lunga sequenza di debug (queste ultime due attività potrebbero richiedere comunicazione scritta comunque in quanto la memoria potrebbe non essere sufficiente, quindi i test automatici non avrebbero alcun sovraccarico).

Lo so, alcuni progetti non sono facilmente testabili automaticamente. Usiamo TDD per risolvere questo problema, ottenendo anche molti altri vantaggi ....

Se scrivi già alcuni test automatici, gli stessi test che scrivi scrivono automaticamente ciò che stai pensando e verificando, quindi probabilmente non hai bisogno di nient'altro . Quando finalmente trovi il tuo bug, puoi mantenere la tua sequenza di test ... o rifattarla; -)

Modifica dopo commento:

Verifica come funziona una libreria! Io chiamo quel test di apprendimento. Bene che tu li faccia:

  • ti permettono di sapere esattamente come funziona la libreria.
  • documentano tale conoscenza, per te in seguito o per i membri del tuo team
  • possono documentare gli usi di quella libreria, come è usata nel tuo progetto (nelle mie esperienze di Aeronautica, la politica aziendale ha imposto che ogni codice esterno sia controllato, sapendo con precisione quali funzioni vengono utilizzate e documentando quale sarebbe l'effetto sul nostro software se la libreria smettesse di funzionare!)
  • servono come test di non regressione quando si aggiorna la libreria
risposta data 29.08.2011 - 18:16
fonte
2

Ho impostato un'attività con un promemoria per due motivi:

  1. Ho bisogno di un prompt per tornare al codice.
  2. Posso inserire note o link a documenti importanti, pagine web, file, ecc.

È difficile cambiare attività se hai la costante paura di dimenticare di tornare a quel bug originale. Devi avere un'idea di quando è meglio impostare il promemoria. Lo faccio anche quando esco dal weekend.

    
risposta data 29.08.2011 - 19:43
fonte

Leggi altre domande sui tag