Come prestare maggiore attenzione ai dettagli come sviluppatore?

6

Ci sono risorse per prestare più attenzione ai dettagli come sviluppatore di software? (Soprattutto casi limite, o piccoli errori nel codice, dettagli nella descrizione del problema, ramificazioni per alcune modifiche a un grande sistema)

Alcune riflessioni finora:
- Libri di qualche tipo?
- Esercizio di qualche tipo (ad esempio, solo risolvere i problemi di matematica [un professore durante la laurea menziona la matematica insegna l'attenzione ai dettagli ... anche se un altro ha detto che la programmazione del linguaggio di assemblaggio insegna anche i dettagli ...])

- Qualche tipo di metodo per scomporre problemi / pensare di forzare l'attenzione su ogni dettaglio?
- Un modo per annotare i dettagli per non dimenticarli più tardi

Esempio di cosa intendo:

Qualcuno ha detto una buona domanda per chiedere a un potenziale sviluppatore quanti 7 tra 0 e 100. L'ho fatto rapidamente e ho pensato a 10, dimenticando 70-76 e 78-79. Fondamentalmente è solo una mancanza di attenzione ai dettagli ....

Un altro esempio è durante un'intervista di codifica della lavagna bianca, c'era un problema facile e mentre la versione iniziale era corretta, poiché continuavamo a renderla più efficiente, continuavo a commettere errori sempre più piccoli. Una volta sottolineato, è stato facile per me risolverli, ma è stato imbarazzante farli notare dall'intervistatore invece di trovare da solo i problemi e correggerli.

Un altro esempio è semplicemente la compilazione del codice. Inizialmente vorrei scrivere il codice, esaminarlo una volta prima di compilarlo e catturare molti errori. Ora mi mancano molti più errori e il compilatore (o interprete) trova molti più errori di quelli a cui era abituato.

Inoltre ho notato che quando sono uscito per la prima volta era molto più facile aggrapparmi a un sacco di dettagli dove, come ora anche i dettagli che inizialmente sapevo, mi sembrano dimenticare di più col passare del tempo. Ecco perché oltre a prestare attenzione ai dettagli per i nuovi problemi, potrei anche utilizzare le risorse per tenere traccia dei dettagli dei vecchi problemi senza dover fare affidamento sulla memoria.

    
posta Cervo 10.09.2011 - 19:56
fonte

7 risposte

12
  1. Rallenta. Pensa prima di parlare. Esercitati a controllare il tuo lavoro, anche quando è tutto nella tua testa. Tutti commettono errori, soprattutto in una situazione stressante come un'intervista, ma ne farai di meno se ti concederai del tempo per pensare. La maggior parte delle persone, compresi gli intervistatori, apprezza una risposta premurosa più che rapida.

  2. Se un intervistatore ti fa una domanda con una risposta ovvia, fermati un attimo e considera se è l'unica risposta. La domanda del 7 potrebbe essere risolta in diversi modi:

    • 20: è il numero di volte in cui la cifra "7" si trova tra 0 e 100.
    • 1: solo uno dei numeri tra 0 e 100 è 7.
    • 14: se dividi i numeri tra 0 e 100 in gruppi di 7, ottieni 14 più alcuni extra.
    • Infinitamente molti: ti permetterò di capire perché.
  3. Ci sono molti libri là fuori per aiutarti a migliorare la tua memoria, ma quando si tratta di codice, è meglio dedicare del tempo a scrivere codice il più chiaro possibile che cercare di memorizzare tutti i dettagli. Se il tuo codice è facile da capire, non devi ricordare tutti i dettagli. Fai un ulteriore passo avanti: se devi ricordare i dettagli sul codice per comprenderlo, il codice dovrebbe essere riscritto fino a quando non è più necessario.

risposta data 10.09.2011 - 20:30
fonte
6

Scopri come testare e scrivere codice testabile.

Se scrivi buoni test unitari, ti assicurerai che tutti i casi limite sono coperti. Per lo meno, scrivere un test unitario ti costringerà a pensare al codice che stai scrivendo e ti aiuterà a ottenere i dettagli corretti.

Quando hai una buona copertura per test di unità, gli errori commessi durante la modifica del codice (ad esempio per le prestazioni) saranno presi.

L'arte del test unitario è un buon libro per imparare quali sono i test unitari.

Come nota a margine - è più importante essere corretti che veloci. Se hai bisogno di pensare le cose per un'ora e solo dopo iniziare a programmare, stai andando bene. Semplicemente prendersi il tempo per pensare alle cose sarà già d'aiuto con molti casi limite e la progettazione generale di classi e metodi.

    
risposta data 10.09.2011 - 20:07
fonte
2

Mi sembra che ti lasci distrarre e, come suggerisce Caleb, vuoi andare troppo veloce.

Ciò che mi ha aiutato a dimenticare i dettagli non è quello di saltare e saltare da una parte di un problema più grande a un'altra parte di essa. Finisci una parte alla volta. Scrivi "todo comments" nel tuo codice quando pensi a qualcosa che deve essere fatto altrove e non è correlato direttamente a ciò che stai facendo ora.

Ora tendo a scrivere "todo" anche per la parte su cui sto lavorando in qualsiasi momento. Aiuta a ricordare di implementare qualsiasi cosa mi sia passata per la mente e di mantenere l'intrusione nel mio processo di pensiero di quel piccolo dettaglio al minimo assoluto.

    
risposta data 11.09.2011 - 10:07
fonte
1

Prenditi il tuo tempo e ricorda: non è l'IMPORTO del codice, ne è la qualità. tenerlo sempre nella parte posteriore della mente ti costringerà a pensare prima di digitare il codice alle 100 parole al minuto.

    
risposta data 10.09.2011 - 20:39
fonte
1

Come la maggior parte dei campi dettagliati in natura, ci vuole pratica per ottenere buoni dettagli. La pratica strutturata che utilizza un concetto chiamato Codice Katas può essere d'aiuto perché è lontana dal tuo lavoro principale, in modo da permettere di esercitare un pensiero dettagliato lontano dalla pressione di dover finire qualcosa velocemente. E la maggior parte dei siti che danno l'esempio di Katas sottolineano anche lo sviluppo basato sui test e / o sul comportamento.

Il seminale " Bowling Game Kata " è un buon inizio.

Ecco alcuni riferimenti per iniziare:

risposta data 10.09.2011 - 21:21
fonte
1

L'attenzione ai dettagli richiede:

  1. modo sistematico di sfogliare i dettagli
  2. un modo efficace per riconoscere quale pezzo è importante e che è meno importante
  3. possibilità di modificare rapidamente i dettagli che richiedono modifiche

È sempre bene ricordare i limiti fondamentali di ciò che gli umani hanno:

  1. le persone possono ricordare solo 7 cose nella loro memoria a breve termine - i tuoi dettagli devono fluire attraverso queste 7 cose o non puoi gestire grandi volumi di dettagli
  2. Imparare a usare la memoria a breve termine per i dettagli richiede molto tempo, come 10-20 anni e avviene solo attraverso una pratica costante
  3. Grandi volumi di dettagli sono dannosi a lungo termine, quindi è necessario un tempo sufficiente per le vacanze in cui i dettagli non sono disponibili (data la disponibilità di Internet di grandi quantità di dettagli, a volte è dimenticato)
risposta data 10.09.2011 - 22:18
fonte
0

Non riuscirai a farlo bene la prima volta. Vai in modalità creativa per risolvere i problemi. Allontanati dal tuo codice e torna come un revisore o un editor. Qui troverai più errori. Potrebbero esserci più errori trovati in una revisione del codice. Non è che ti lasci trascurare pensando che qualcun altro prenderà degli errori, succederà.

Ti stai chiedendo allo scrittore e all'editore contemporaneamente. È impossibile fare efficacemente in entrambe le aree.

    
risposta data 10.09.2011 - 21:53
fonte

Leggi altre domande sui tag