Hai dimenticato anche il codice dopo aver completato l'attività? [chiuso]

13

Sono un nuovo programmatore e voglio chiedere ai programmatori esperti (programmatori che hanno esperienza nel mondo reale).

Faccio il mio lavoro e dopo la codifica, il mio progetto viene completato, ma onestamente non ricordo il codice, il nome di classi e framework e le loro proprietà.

A volte anche io dubito che l'abbia fatto questo?

È normale con tutti i programmatori o sono il programmatore più sciocco che non ricorda il codice e i nomi di classi / proprietà?

Modifica

Penso che molti dei programmatori mi stiano sbagliando qui. Ho detto che dimentico i nomi delle strutture, i nomi delle classi, i nomi delle proprietà, ma comincio a ricordare il mio codice una volta che ho iniziato a lavorarci di nuovo. La mia domanda è: ti ricordi sintassi e classi / nomi di proprietà ecc.?

    
posta necixy 13.04.2011 - 18:34
fonte

7 risposte

24

In tutta onestà, non so come uno possa essere uno sviluppatore a lungo termine senza la capacità di "dimenticare" il codice su cui hai lavorato. La quantità di progetti e il codice risultante alla fine porteranno a un puro sovraccarico di informazioni.

Tuttavia, vedo questa situazione come argomento di supporto per un design pulito e logico. Arriverà un momento in cui devi supportare il tuo codice. Se hai scelto convenzioni di codifica forti e logiche, il tuo tempo di familiarizzazione sarà notevolmente ridotto. Inoltre, ciò ridurrebbe teoricamente il tempo necessario per eseguire la manutenzione effettiva.

    
risposta data 13.04.2011 - 18:44
fonte
9

Ricordare tutta la sintassi e l'apis di un progetto non è importante quanto ricordare i concetti che sono serviti per crearlo. Una volta che hai esperienza puoi leggere il codice e capire il significato proprio come leggere questi post.

Ciò che troverai nel tempo, se stai migliorando attivamente, è che vedrai i difetti di ciò che hai scritto in passato solo leggendo il vecchio codice (che ti consiglio di fare). Attraverso quella pratica diventa più facile da fare; proprio come qualsiasi altra abilità.

Probabilmente ho scritto più di un milione di righe di codice nella mia carriera e non c'è modo di ricordare tutto. Ricordo però i progetti e quello che stavano tentando di risolvere (e le tecniche per risolverli).

    
risposta data 13.04.2011 - 18:46
fonte
5

Ho dimenticato molte cose dopo averle usate, ma le ho dimenticate in modo diverso.

Mi sono guardato negli anni e sono giunto alla conclusione che il nostro cervello (okay, il mio cervello) impiega una certa strategia di caching:

  • Nuove informazioni vengono acquisite, utilizzate e inserite in una coda di scadenza. In poche settimane non c'è più.

  • L'accesso ripetuto a tali informazioni una volta appreso entro e non oltre qualche mese fa le promuove in qualche modo in modo che possano essere ricordate per mesi, solo che scadono.

  • L'accesso ripetuto ai blocchi di conoscenza nel corso di diversi anni, con le lacune di utilizzo per diversi mesi, li promuove a una memoria prioritaria in cui sono conservati per anni.

P.S. Sospetto che la prima idea di cache con l'applicazione ai computer provenga da qualcuno che osserva come gli umani imparano e ricordano le cose. Quindi non abbiamo inventato nulla, abbiamo solo preso ciò che era già incorporato in noi.

    
risposta data 13.04.2011 - 19:23
fonte
2

Spesso. I commenti sono diventati passe ', ma trovo che di solito riesco a riconoscere il mio codice con i miei commenti.

EDIT: non sto dicendo che accetto con la tendenza. Sto solo dicendo che è la tendenza oggi. Come sottolinea Dave, c'è sicuramente un punto di rottura. C'è una discussione perfettamente meravigliosa qui: "I commenti sono un odore di codice" . I commenti sono forniti per fornire informazioni sul campo ESTERNO del campo base (requisiti, cambiamenti aziendali, ecc.).

    
risposta data 13.04.2011 - 18:37
fonte
1

Sintassi Ricordo generalmente dopo un paio di usi. Ad esempio, quando ho iniziato a utilizzare generici o linq, ho avuto qualche difficoltà a ottenere la sintassi corretta.

IntelliSense rende sicuramente molto più facile il mio lavoro nel ricordare nomi di proprietà e metodi.

    
risposta data 13.04.2011 - 19:15
fonte
1

Quando ero un tester, lo sviluppo principale dell'azienda mi ha detto che il codice è stato scritto 6 mesi fa, nessuno dei miei dipendenti può essere ritenuto responsabile per questo. Al momento mi ha scioccato. Ora che sono passato ad essere uno sviluppatore, capisco. Non ricordo i dettagli del codice, so che ci ho lavorato ma i dettagli non ci sono.

    
risposta data 13.04.2011 - 19:43
fonte
0

Quasi sempre. Il mio progetto più recente (molto piccolo) è stato un test delle mie capacità (arrugginite). Mi sono fatto scrivere un po 'di codice procedurale in uno stile C molto semplice, quindi lo ho rifattorizzato in codice Java usando alcuni schemi di progettazione e mantenendo ogni metodo a non più di otto righe, se potessi.

Ho inserito il codice per circa un mese. Quando sono tornato, ci è voluta un'ora prima di riconoscere che l'avevo scritta. Francamente, anche se avessi messo il mio nome in un campo di commenti, non sono sicuro che mi avrebbe convinto.

    
risposta data 13.04.2011 - 18:51
fonte

Leggi altre domande sui tag