"Per codificare rapidamente, è necessario uscire dalla codifica"


17

Prima di tutto, non la mia frase: http://www.whattofix.com/blog/archives/2010/11/to-code-quickly.php Props to Mr. Markham.

MA, mi ha fatto pensare a molte domande che ho visto sull'essere in grado di fare le cose.

L'approccio suggerito (impostare un timer per un periodo prestabilito, in questo caso 50 minuti, ma ho visto persone parlare di interrompere la procrastinazione impostando tempi di cinque minuti su compiti che non si possono portare a termine, e poi prendere una breve pausa) sembra essere buon senso, ma molte persone sostengono di entrare nella "zona" e di rimanere lì il più a lungo possibile, forse molte ore, piuttosto che rompere il loro ritmo.

Continuo a provare approcci diversi e scopro che ognuno ha i suoi punti di forza e di debolezza.

Che tipo di tecnica usi per essere più EFFICACE (ovvero ottenere il lavoro al livello di qualità richiesto dal tuo cliente / capo / ecc. Nel periodo di tempo consentito) nello sviluppo del tuo software e non solo per passare più tempo alla tastiera ?


3
Vorrei usare questo come un'opportunità per collegare un altro sito SE (proposto), Produttività personale e organizzazione: area51.stackexchange.com/proposals/4296/…
instanceofTom

Ooo - fantastico - sono passato e impegnato. Grazie!
Todd Williamson,

la proliferazione di siti di nicchia SE sta diventando assurda al limite.
Kevin,

Risposte:


15

Uso quella tecnica ogni giorno. Il mio timer è di 45 minuti di lavoro per 10 minuti di riposo.

Ottimizzo anche il tempo sul computer a 4 ore al giorno . Capisco che questo non è possibile quando il tuo compito principale è la codifica. Il resto del tempo, faccio qualsiasi operazione che non richiede un computer.

Lo strumento che uso è un WorkRave . L'autore l'ha scritto perché ha iniziato ad avere problemi fisici a causa della sua incapacità di smettere di scrivere codice per lunghe ore.

Sono meno stressato e ha influito positivamente sulla mia produttività.

Da alcune settimane, provo anche alcune tecniche di consapevolezza durante i tempi di pausa. Delizioso.

Ora per quanto riguarda le tecniche anti-procrastinazione, ne ho una che batte tutto ciò che ho provato prima:

Gestisco un unico elenco di attività, prioritario per importanza. Scelgo il primo nell'elenco.

Mantengo l'elenco (e il calendario) con una combinazione di GTD e 7 Abitudini .

Per migliorare l'efficacia dell'elenco, scrivi le tue attività come azioni successive anziché come descrizioni (vedi il capitolo Azioni, contesti e progetti in questo post sul blog )


1
Puoi dare un esempio di un compito scritto come azione vs come una descrizione?
Adam Lear

Certo, ho aggiunto il riferimento a un articolo più completo nella risposta. Ecco di nuovo il link (descrive l'intera tecnica GTD): zenhabits.net/the-getting-things-done-gtd-faq .

6

Non sono impressionato da quel saggio; ha passato un giorno a provare il suo nuovo metodo?

Detto questo, Pomodoro e tecniche simili sembrano avere una popolarità di nicchia persistente. In genere cerco di ordinare i miei giorni in "giorni di messa a fuoco" e "giorni diversi". Giorni di messa a fuoco Mi presento con abiti leggermente più rilassati, forse un po 'prima (o stare più tardi). Non ho incontri in quei giorni, quindi posso praticamente scrivere il mio programma, che mi permette di concentrarmi meglio. Negli altri giorni ho incontri, appuntamenti e così via. Non avrò il tempo di concentrarmi, quindi cerco di pianificare attività più piccole e più semplici per riempire il mio tempo.

Un buon modo per aumentare la produttività nella codifica è la generazione di codice di tutti i bit della caldaia; refactoring di tutto ciò che viene duplicato, ecc.


2

La cosa fondamentale da ricordare qui è che non esiste una soluzione "taglia unica".

Esistono molte tecniche per migliorare la tua capacità di "fare le cose" e uno dei motivi è che cose diverse funzionano per persone diverse.

Alcune persone si comportano molto bene con questo tipo di metodologia (cfr. Tecnica Pomodoro) e alcune persone troveranno che distrugge la loro attenzione - Non mi piace davvero fermarmi a metà attività ed è quasi invariabilmente quello che i sistemi basati su timer mi fanno ... concettualmente buono, implementazione impegnativa (vero per la maggior parte delle metodologie strutturate per la gestione del tempo e altre cose)


Sto solo cercando un sacco di input. Come dici tu, non esiste un approccio "uno squillo per dominarli tutti", ma sono interessato a vedere come gli altri si avvicinano.
Todd Williamson,

Oh assolutamente - e sono d'accordo con la domanda (-: Ma quanto sopra è un punto che deve essere messo in evidenza perché le persone che hanno sistemi che funzionano - per loro - possono essere un po 'entusiaste.
Murph

Penso che questo sia un buon punto. Inoltre, ho scoperto che alcune tecniche funzionano meglio o peggio per me a seconda del mio umore, del tipo di lavoro che sto facendo, ecc. Ci sono momenti in cui non ho problemi ad andare a lavorare e lavorare in modo produttivo tutto il giorno senza qualsiasi sistema. Altre volte, ho bisogno di qualcosa per mantenermi concentrato e in pista. A volte, quando ho passato un funk del genere, ho trovato Pomodoro che funziona abbastanza bene per me, anche se occasionalmente salterei una pausa quando ero su un rullo.
PeterAllenWebb,

Tentato di votare solo perché questo non aggiunge un'opinione soggettiva - afferma semplicemente "dipende". Questo si può dire di quasi tutto ed essere vero per qualsiasi cosa.
Magnus Wolffelt,

@Magnus non può discuterne in modo particolare, ma allo stesso modo il punto deve essere sottolineato. Troppe persone vanno a caccia del proiettile d'oro.
Murph,

-1

Poiché il problema è la codifica, oltre alle tecniche menzionate da Pierre, suggerirei di codificare in un linguaggio dinamico, se possibile (Python è un piacere lavorare con, per esempio): tali linguaggi ti permettono di essere estremamente produttivo (i tempi di codifica misurati mostrano un fattore di miglioramento da 2 a 10, rispetto a C). Sono così belli con cui lavorare che potresti praticamente "non passare il tempo sulla tastiera".


Perché i downvotes? La risposta sopra si rivolge alla domanda "Che tipo di tecnica usi per essere più EFFICACE (...) nello sviluppo del tuo software?".
Eric O Lebigot,
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.