Dimenticare le cose che ho fatto prima e come risolverle


19

Non sono sicuro se sono solo io o se questo è comune nel nostro campo.

L'anno passato è stato un po 'intenso per me. Ho imparato alcune tecnologie diverse per svolgere alcune attività e a volte ho dovuto concentrarmi completamente su quella nuova tecnologia che sto imparando.

Quello che ho notato, però, quando torno a utilizzare tutto insieme nel progetto completo è che ho dimenticato come fare le cose che già sapevo fare prima di iniziare a concentrarmi sull'apprendimento di quell'altra nuova tecnologia. A volte trovo che dimentico anche cose semplici come la sintassi per selezionare un div in jquery, che devo tornare ai vecchi file per dare una rapida occhiata.

A volte potrei codificare qualcosa che riconosco di aver fatto prima in un altro progetto, ma non riesco proprio a ricordare quale progetto fosse, quindi devo passare attraverso diversi progetti e consultare il codice per cercare di ricordare dove l'ho fatto.

Quali modi hai inventato per impedirti di dimenticare le cose che hai fatto in precedenza o per accedere facilmente al codice che hai scritto in passato?


9
Non sei solo uomo. Questo succede al meglio di noi la maggior parte delle volte. Il cervello umano tende a dimenticare le cose che non ti servono nelle attività quotidiane, quindi è perfettamente comprensibile.
Terence Ponce,

2
SEI SOLO TU !!!! : O sto solo scherzando. Mi succede sempre.
Nick Spreitzer,

> Succede ad altre persone? Mi succede molto. L'unica soluzione è diventare più giovani. :-)
Stephen C

Risposte:


7

Tengo un registro di lavoro. È solo un semplice file di testo. Ogni giorno prendo appunti su cose su cui sto lavorando: cosa ho fatto, che tipo di problemi ho riscontrato, come li ho risolti, con chi ho parlato, di cosa abbiamo discusso, quali decisioni abbiamo preso, file / classi / pagine web pertinenti, eccetera.

Quindi ogni volta che ho un problema e ho la sensazione di deja-vu a riguardo, cerco solo nel mio registro di lavoro e nella maggior parte dei casi riesco a trovare rapidamente quello che sto cercando.

Il registro di lavoro consente inoltre di tenere traccia di come trascorri il tuo tempo, scrivere rapporti settimanali / mensili, prepararti per le revisioni delle prestazioni.


6

Succede a me Ad esempio, dal momento che non li uso davvero nel mio lavoro, sto costantemente riapprendendo Ruby / Javascript. Alla fine inizierai a ricordare alcune cose, ma ho anche acquisito un ENORME numero di segnalibri del browser con molti tag da cui dipendo fortemente. Per i frammenti di codice comunemente usati, ne ho una raccolta, ma devo ancora: 1. Ricorda di averli, 2. Trova quello che pensavo potesse essere rilevante e 3. Determina se ciò che ricordo era realmente applicabile o no. Sfortunatamente non mi sono preoccupato di trovare un sistema migliore.


5

No, non sei solo tu. Credo che questo sia comune in quasi tutto ciò che teoricamente non si utilizza per un periodo di tempo più lungo. Pensa a tutto ciò che hai imparato a scuola o all'università che non ricordi più. Tendo a dimenticare cose già 2 settimane dopo l'esame finale ...

L'unico modo per porre rimedio a questo, che io conosca, è usarlo. Spesso. È come gli spot televisivi in ​​cui ricordi ogni singola riga e scena. Perché? Perché li vedi tutti i giorni - un costante promemoria che fa sì che il tuo cervello riorganizzi le sue sinapsi (o qualunque cosa faccia) per ricordartelo. Immagina di poter fare lo stesso per tutte le conoscenze che vorremmo ricordare: algoritmi, metodi, formule, sintassi, ecc. (Penso che sia tempo che protestiamo e facciamo in modo che le stazioni TV mostrino questo tipo di cose utili durante le pause del programma invece di quelle pubblicità pacchiane.) Ma per fortuna, quasi tutto quello che hai imparato una volta puoi imparare di nuovo in un tempo più breve.

Se ti capita di sapere quando stai scrivendo un pezzo di codice che vorresti guardare indietro in qualche momento in futuro, copialo in un file separato e conserva una libreria di utili frammenti di codice. In questo modo non devi cercare in interi progetti. Assicurati inoltre di disporre questi frammenti dopo lingua e tipo (cosa fa il codice? Perché l'hai salvato?) Per un facile accesso.


4

Posso assicurarti che sembra peggiorare man mano che invecchi :-) Ma è perché più a lungo stai sviluppando, più conoscenza c'è da dimenticare.

D'altra parte, ottieni più "intuizione". Riconosci modelli, come risolvere determinati problemi e altre cose che hai imparato in progetti più vecchi con lingue e ambienti diversi e puoi farne uso anche se le condizioni attuali sono diverse. Voglio dire, guardo costantemente al codice che ho scritto solo un anno fa e penso: " Oggi lo scriverei in modo diverso " e anche abbastanza spesso " Oggi so come risolverlo meglio ".

Quindi, anche se potresti dimenticare molte cose come metodi e nomi di classi per una determinata API, le tue abilità normalmente migliorano a un livello superiore.


3

Questo succede sempre a me. Ho appena fatto così tante cose in quel mio noggin che dimenticherò tante delle cose più semplici. Nomi, compleanni, incontri irritanti scivolano via come acqua nella sabbia. Ma qualsiasi cosa abbia a che fare con computer, programmazione, matematica o cose del genere rimane lì. Il modo migliore per memorizzare una lingua, una tecnologia o anche un progetto è scrivere un cheat sheet .

In genere ho un riferimento qucik per tutto ciò con cui lavoro, così posso ricordare rapidamente a me stesso cosa sta succedendo. Ho anche un taccuino in cui tengo tutte le mie note e i numeri di pagina di riferimento sui cheat sheet.


3

Mi è successo in molti casi prima. Ecco perché scriviamo documentazione nel nostro codice.

E a volte, hai solo bisogno di un riferimento su Internet per aiutarti. Va benissimo cercare aiuto.


1
"Ecco perché dovevamo scrivere documentazioni nel nostro codice." a parte la grammatica, documentare una sintassi del linguaggio nel codice di produzione la ingombra, rendendola meno gestibile. Che ne dici di scrivere la sintassi di base di una determinata lingua + alcuni link utili in un .txt separato?
vemv,

2

Spesso dimentico le cose dopo non averle utilizzate per un po ': sintassi, parole chiave, tecniche, ecc. Per aiutare, ho letto questo libro di Dominic O'Brein (8 volte campione della memoria mondiale). Ci sono alcune tecniche e suggerimenti da quel libro che uso per aiutarmi a ricordare le cose. Non è sempre facile applicarli alla programmazione, ma con un po 'di creatività, puoi iniziare a collegare le cose per aiutarti a ricordarle meglio. Non è perfetto, ma potrebbe aiutare nel tempo.

Inoltre, leggi questo articolo. È una lettura interessante che mi ha dato alcune idee su come migliorare il mio richiamo per il mio lavoro di sviluppo.

Per me lo strumento più utile per me sono state le mappe mentali. Li uso per tutti i tipi:

  • Documentare casi di test.
  • Descrivere visivamente l'architettura di un progetto a cui sto lavorando.
  • Note e collegamenti a siti Web su una tecnologia che mi interessa.

Le mappe mentali possono essere utilizzate per molti scenari diversi. Certamente ha fatto la differenza per me quando ho imparato cose nuove.

Saluti. Giac.


2

Per quanto riguarda il codice (dai frammenti brevi a intere classi) che hai scritto e che ritieni possa essere necessario riutilizzare in futuro: mantieni un blog di programmazione pubblico in cui scrivi e spiega tutto ciò. Questo ha una serie di vantaggi:

  • Il più ovvio, avrai un repository di codice da verificare in futuro.
  • Ti consigliamo di scrivere post di blog davvero utili, in modo che altre persone che li possano leggere li capiscano davvero. La maggior parte delle volte questo ti costringerà a refactificare il tuo codice al volo, il che è una buona cosa.
  • Occasionalmente i lettori di blog possono segnalare bug o suggerire utili miglioramenti al codice, il che è MOLTO positivo.

Puoi scrivere un blog normale o utilizzare siti orientati alla programmazione come Refactor My Code o The Code Project .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.