Avanzamento con Iterazione del codice

5

Ci sono momenti in cui lavoro sui miei progetti di programmazione e arrivo al punto in cui sono pronto per passare alla parte successiva del mio programma. Tuttavia, quando mi siedo per implementare questa nuova funzione, rimango bloccato, in un certo senso. Non è che non so come implementare la funzionalità, è che rimango bloccato nel capire il modo il migliore per implementare questa funzionalità. Così mi siedo per un giorno o due e lascia che le idee si rovinino finché non mi sento a mio agio con un disegno. Mi preoccupo che non scriva qualcosa così come potrebbe essere, o che potrei dover tornare indietro e rielaborare il tutto; così l'ho rimandato. Questa è una grande ragione per cui non ho mai veramente finito molti progetti personali. Qualcun altro ha esperienza di questo, e come fai a mantenere te stesso andando avanti nel tuo progetto?

    
posta rcapote 31.01.2011 - 06:49
fonte

8 risposte

7

Il mio consiglio è di non rimanere "bloccato" nel cercare di trovare il modo migliore per fare qualcosa. Fallo e basta! Potrebbe totalmente succhiare, ma la linea di fondo è che hai ancora fatto qualcosa. Niente trionfi esperienza ... quindi fallo e impara dai tuoi errori.

    
risposta data 31.01.2011 - 07:12
fonte
2

In realtà, scrivendolo nel modo sbagliato e poi dover tornare indietro e rielaborarlo può essere una buona esperienza di apprendimento. Possiamo stare seduti tutto il giorno e pensare sul modo migliore per implementare la funzione, ma non sarà quasi altrettanto informativo come in realtà scrivere il codice e osservare come funziona.

Quindi vai con la tua prima idea e vedi come funziona. Scopri cosa è giusto e cosa c'è che non va. Quindi puoi rielaborarlo o riscriverlo se necessario; sarà più facile la seconda volta perché hai esperienza.

    
risposta data 31.01.2011 - 07:45
fonte
1

Direi di scrivere un test di accettazione (BDD / TDD) per confermare che la funzione è completa e quindi scrivere la soluzione più semplice possibile e quando si tratta di volte al refactoring hai la conferma dell'accettazione che non lo hai rotto

    
risposta data 31.01.2011 - 08:52
fonte
1

Questo è lo stesso problema che ho avuto. È un disturbo di personalità. Sto tentando di iscrivermi alla filosofia Sit down and do it . È difficile, in quanto risulta in alcuni refactoring. MA, nello stesso tempo in cui non avrei potuto fare nulla ("pensando"), ho realizzato qualcosa e ho spostato lo sviluppo in avanti.

Questo di solito accade quando le specifiche non sono correttamente enunciate. Poiché siamo single-developers , definiamo le specifiche e abbiamo troppe opzioni. Basta inchiodarne uno (il primo che viene in mente) e seguirlo.

Ho avuto molte volte in cui mi sono costretto a sedermi e ad implementare l'Opzione 1, solo per rendermi conto (dall'effettivo utilizzo dell'opzione 1), che è una cattiva opzione. Ho dovuto scartare tutte le modifiche e ricominciare. Ma non avrei mai potuto saperlo a meno che non l'avessi implementato (o avrei potuto indovinare come e dove andrà male in futuro - molto difficile senza specifiche strette e una sfera di cristallo.) Ma in Nel frattempo ho programmato qualcosa e so che il risultato non funzionerà. Vs. spendendo quel giorno pensando e realizzando nulla.

Inoltre, se sei sovraccarico di lavoro, non confonderlo con "pensare" a una soluzione. Se hai bisogno di riposarti dalla programmazione e dal ciclo di sviluppo, prenditi una pausa. Non fare alcun pensiero attivo. Basta scrivere un breve da fare / "cosa stavo pensando" prima di prendere la pausa del giorno. Impostare un allarme in pochi giorni per iniziare il backup e programmare l'Opzione 1. Refactor. Scartare. Opzione 2. Avanti.

    
risposta data 06.07.2011 - 19:56
fonte
0

Due strategie: 1) lavorare su altre parti del progetto mentre si dà quella volta per "spezzare". 2) Scrivi qualcosa con cui puoi convivere, anche se potrebbe essere non ottimale. Preferisco la prima di solito, ma a volte decido di vivere con quest'ultima, almeno per un breve periodo. Spesso, soprattutto dopo che gli utenti giocano un po 'con le cose, risulta che l'intera area generale ha bisogno di una revisione sufficiente che la direzione generale che stavo pensando sarebbe migliore è del tutto irrilevante.

    
risposta data 31.01.2011 - 07:09
fonte
0

Io faccio Cerco di evitare di scrivere codice finché non sembra perfetto. Una volta ho realizzato che quasi ogni progetto personale (se è abbastanza grande) è destinato a un'evoluzione senza fine, così ho deciso di concentrarmi sulla creazione di una libreria di classi utili: animatore, sottosistema degli eventi personalizzati, alcuni ui, wrapper per riprodurre contenuti ecc. da quel momento ogni volta che ho bisogno di implementare qualsiasi cosa - nuove funzionalità o progetti - scrivere un nuovo codice e creare nuove entità arriva insieme all'evoluzione della mia amata lib. Dal modo in cui ho intenzione di condividerlo quando lo considero perfetto;)

    
risposta data 31.01.2011 - 07:22
fonte
0

Come qualcuno ha detto, Just Do it - Avrai problemi e sfide, ma continui ad andare avanti, ogni giorno implementa funzionalità molto piccole e vedi che funziona, questo ti darà molte e molte motivazioni per andare avanti.

Ho bisogno di vedere qualche successo, non importa se è anche piccolo, per tenermi motivato e in movimento.

Non mollare mai.

    
risposta data 01.02.2011 - 19:58
fonte
0

Scrivi un'implementazione semplice / ingenua che funzioni. Roba di codice duro se necessario. Controlla il codice Quindi rifattalo per renderlo più bello. Oppure, se ti piace, scrivi alcuni test prima di refactoring.

    
risposta data 01.02.2011 - 20:02
fonte

Leggi altre domande sui tag