Qualcosa mi ritrova a scrivere qualcosa di difficile e dopo ore di lotta la mia mente diventa vuota e non so più cosa sto facendo.
Non sono sicuro che questo accada a molti programmatori. Ti capita? Come ti ci trovi?
Come in ogni sforzo creativo, a volte i programmatori vengono bloccati e i succhi creativi non fluiscono. Alcune cose che faccio quando mi trovo in una situazione del genere:
In tutte queste situazioni, sto tentando di fare qualcosa che non è correlato al compito attuale. Mentre le mie attività più importanti in questo periodo non sono correlate (in base alla progettazione) a ciò su cui sono bloccato, il mio cervello sta ancora inconsciamente rovesciando il problema. Spesso, la soluzione funzionerà in qualche modo entro poche ore.
Mi succede quando sono sotto pressione o ho lavorato allo stesso problema per molti giorni. Ho trascorso giorni senza realizzare l'ovvia soluzione.
Ho scoperto che alzarsi e allontanarsi è il modo migliore per liberarsene. Se sei ancora bloccato, parla con qualcuno; preferibilmente, un programmatore junior, o qualcuno che è bravo nel pensiero laterale. Un secondo set di occhi aiuta sempre.
Questo succede a tutti. Fare una pausa, fare una passeggiata o passare a un altro progetto aiuta sempre. Ho anche letto di una tecnica interessante in "Clean Coder" di Robert C. Martin. Si chiama "tomato timer" o "pomodoro".
Imposta un timer per 25 minuti. È possibile utilizzare il telefono, una sveglia, Outlook, ecc. Nei vecchi tempi le persone utilizzavano un timer da cucina, che spesso assumeva la forma di un pomodoro, da cui il nome della tecnica. Quindi lavori per 25 minuti senza interruzioni. Non controllare la posta elettronica, non navigare sul Web, nemmeno StackExchange. Se vieni interrotto da una telefonata o da un collega, chiedi gentilmente di chiamare o di tornare dopo che il tempo è scaduto. Quando la sveglia suona dopo 25 minuti, prendi una pausa di 5 minuti. Ogni 4 "pomodori" o giù di lì, prendi una pausa più lunga.
Anche se questo è più un modo per gestire le distrazioni, piuttosto che combattere il blocco del programmatore, dovrebbe essere d'aiuto anche in questo. Con questi regolari periodi di concentrazione si ottiene molto di più. E con le pause regolari ti senti molto meno stanco alla fine della giornata. Penso che le interruzioni siano anche un modo per lasciare che il tuo "cervello sinistro" (o il tuo "cervello destro"?) Lavori sul problema, che dovrebbe aiutarti quando sei bloccato o addirittura impedirti di rimanere bloccato nel primo posto.
Leggi altre domande sui tag programming-practices