Suppongo che tu non stia utilizzando un tracker di problemi per il tuo progetto. Altrimenti sarebbe banale tracciare i passi precedenti.
Ricerca delle ultime modifiche
Trovare il file su cui stavi lavorando prima di procrastinare non dovrebbe essere un grosso problema. Se stai usando uno strumento di gestione del codice sorgente (SCM) come Git, leggere la cronologia dovrebbe aiutare. Se non si utilizza alcun SCM o sistema di controllo versione (VCS), è ancora possibile ordinare i file per data di modifica ( ecco come farlo in una shell UNIX ).
Ricordando le tue intenzioni
La parte difficile è ricordare perché stai facendo qualcosa. Se il codice è così difficile da leggere che il suo scopo non è chiaro, eseguo l'analisi del codice statico. Lo faccio nello stesso modo in cui lo farei per capire il codice che è stato scritto da qualcun altro. Mentre cerco di seguire il flusso del programma, disegno diagrammi UML (principalmente diagrammi di classi e attività, in casi veramente brutti anche diagrammi di sequenza). Questo non aiuta solo a comprendere il codice, ma serve anche come documentazione futura.
Evitare il problema in futuro
Prima di tutto, se il tuo problema principale è che non riesci a ricordare i tuoi intenti precedenti perché il codice è così difficile da comprendere, questo è il momento per il refactoring. Ti farà risparmiare un sacco di problemi in futuro. Se, tuttavia, il problema è che hai più strutture di codice non terminate e non riesci a ricordare cosa finire prima, potresti provare uno o più dei seguenti:
SCM : se non stai utilizzando SCM / VCS, inizia a farlo. In caso di monitoraggio dei passaggi precedenti, SCM ti aiuta se mantieni una cronologia pulita (ricorda il principio: "commit early, commit often" ). Inoltre, ti impedisce di cancellare irrevocabilmente i file (ad es. Con UNIX ' rm
).
Problema tracker : se tutto ciò non ti aiuta ancora a evitare i problemi, inizia a utilizzare un tracker dei problemi. Esistono innumerevoli strumenti gratuiti e leggeri per aiutarti a tenere traccia dei tuoi cambiamenti.
Test delle unità : un altro metodo che può aiutarti a trovare rapidamente il posto dove continuare il tuo lavoro consiste nel creare test unitari. Esistono framework per tutti i linguaggi ampiamente utilizzati (ad esempio, Java, C, Objective-C, ...) e alcuni linguaggi hanno persino un framework di questo tipo nelle loro librerie standard (ad es., Python). Se pensi che i test unitari possano aiutarti, dai uno sguardo allo sviluppo guidato dai test (TDD). Per molti sviluppatori sembra davvero strano non iniziare subito a programmare, ma scrivere test per qualcosa che non c'è. Tuttavia, può portare a una prospettiva completamente nuova dello sviluppo del software.
Se tutti questi suggerimenti sembrano essere eccessivi, potresti semplicemente scrivere TODO
commenti nel tuo codice. Questa non è la soluzione più pulita e sicura, ma la più semplice e veloce.