2009-12-03 12 views
24

Trovo che uno degli aspetti più frustranti dello sviluppo del software sia trovare una soluzione a un problema, dimenticarlo, quindi trovarsi di fronte allo stesso problema in futuro solo per dimenticare come lo hai già risolto in precedenza. O per scrivere un bit utile di codice, quindi su un progetto successivo non riuscirai a trovare questo codice.Come rimanere A SECCO? Non essere ripetitivo!

La mia domanda generale è questo: Come si fa a tenere traccia di tutte le nuove cose che si imparano ogni giorno durante la programmazione? Qualcuno ha un modo sistematico per acquisire le conoscenze e applicarle facilmente ed efficacemente in futuro?

AGGIORNAMENTO: Grazie alla per le risposte, ecco quello che si avvicinò con:

sociale

  • StackOverflow
  • Tumblr
  • Twitter
  • Evernote
  • Blog/Wiki

Codice Repositories

  • Github
  • Unfuddle
  • LaunchPad
  • Google Code

Desktop

  • Dropbox
  • Yojimbo (Mac)
  • VoodooPad (Mac)
  • WikidPad (WIN)
  • Surfulater
+20

la tragedia di * DRY * è che ogni volta che qualcuno usa l'acronimo, devono ripetersi e compitare l'intero frase:/ –

+11

@David Hedlund - hai un senso dell'umorismo secco – philsquared

+1

bel riassunto, @hapope, e sicuramente entrando nello spirito di esso subito - molto meta :-) – philsquared

risposta

8

StackOverflow è un buon punto di partenza :-)

Tenere un blog è un'altra cosa (here's mine).

Anche Twitter può essere utile per questo.

Esistono anche numerose applicazioni "desktop wiki" che trovo molto utili: VoodooPad su Mac e Wikidpad per Windows.

Infine, se avete bisogno di memorizzare i frammenti (o più) di codice (che si dispone dei diritti per, ovviamente), poi ci sono un sacco di repository di codice sorgente disponibili ora (GitHub, LaunchPad, Google Code o Unfuddle se vuole il controllo completo).

0

Io uso Yojimbo per tenere traccia di quasi ogni algoritmo accurato, il codice snippet o idea utile.

0

Un database di note (utilizzo un'applicazione Surfulater) e un albero di directory del codice sorgente (anch'esso contenuto in un repository Subversion).

Se dovessi iniziare oggi, probabilmente utilizzerei un framework Wiki per archiviare i miei appunti.

2

Anche io sto avendo questo problema. Ho appena iniziato un paio di mesi fa aggiungendo buone domande/risposte SO ai miei preferiti, anche a quelli che ho risposto o pubblicato. Immagino sia un buon inizio. :)

5

Il cervello ha dei limiti. Accettarla.

La soluzione consiste nell'avere test per il codice in modo da poter unire codice ripetuto senza perdere tempo non appena lo si nota.

1

Penso che Evernote sia una delle migliori risorse per la memorizzazione di tutti i tipi di note. Puoi persino caricare foto di testi (ad esempio dal tuo iphone o solo dal tuo computer) e il testo sarà OCR, in modo che tu possa cercare testo libero per parti del testo in un secondo momento.

+0

Evernote è un'ottima app. Lo uso sempre per la memorizzazione di documenti scansionati e altri bit di dati di probabilità. Tuttavia non trovo che faccia un grande negozio di informazioni per gli sviluppatori. Per questo preferisco le app di tipo wiki desktop che ho menzionato nella mia risposta. – philsquared

2

Scrivere un blog. Pubblica i tuoi risultati, i campioni di codice e tutto il resto. Il modo migliore per salvare la conoscenza per il futuro.

+1

Che mi ricorda, ho avuto un post esattamente per questo scopo sul mio blog, che ho appena migrato a Stack Overflow. Grazie! –

2

Non mi importa troppo quando mi dimentico come ho risolto qualche problema di cinque anni fa. Le probabilità sono che nel frattempo, c'è un modo migliore per farlo disponibile. GIYF.

+3

A volte questo è vero, a volte non lo è. Ci sono state molte volte in cui mi sono trovato a lavorare su una soluzione, solo per scoprire che sto lavorando per la stessa soluzione che avevo prima. È sempre bello avere una nuova prospettiva - ma avere gli esempi precedenti a portata di mano può ancora essere molto prezioso – philsquared

2

Se è per un'organizzazione, avendo pagina wiki interna (o qualcosa di simile) potrebbe aiutare. Se è solo per te (e chiunque sia interessato), scrivi un blog, frammenti preferiti su Internet ecc.

Per il codice, un buon approccio (in entrambi i casi: organizzazione e te stesso) è mantenere qualcosa che chiamo " Libreria di utilità ". Ogni pezzo di codice che mi piace di solito si inserisce in uno degli ambiti dei problemi/spazi dei nomi della libreria. In questo modo, nel tempo, hai una base di codice che ti permette di non inventare di nuovo il weel. Naturalmente, dopo un paio di mesi o anni la biblioteca ha bisogno di documentazione per trovare qualcosa lì :)

0

Mi porto sempre con me tutti i miei progetti interessanti usando dropbox. Poi di solito so dove trovare i trucchi che ho fatto prima.

Ogni volta che vedo qualcosa di buono in SO, lo recito, ogni volta che vedo un buon articolo sul web l'ho inserito come segnalibro.

Mantenere un blog o un tumblr è anche bello.

0

Sono abituato a portare il mio disco flash ovunque io vada. Quindi, ho una cartella diversa per le note C#, Asp.Net note, Design Patterns ecc.

E ogni volta che faccio qualcosa che ritengo di poter usare in futuro, in pratica apro il documento di Word in esso contenuto, aggiungi i dettagli e lo snippet di codice con un'intestazione e salva.

Non so come gli altri lo fanno ma in realtà mi aiuta.

Non dimenticare di aggiungere un indice di riferimento all'inizio del documento.

P.S: Anche io porto tutte le e-book nel mio disco. Averli tutti in tasca mi dà davvero una bella sensazione.

4

Io uso TiddlyWiki per tenere traccia di un sacco di cose.È una wiki autonoma di una pagina che puoi eseguire sul desktop o sul tuo server.

Se si desidera una soluzione in hosting, è possibile ottenere uno gratuitamente oltre al TiddlySpot

+1

Posso aggiungere che dal momento che un TiddlyWiki è un singolo file HTML, puoi portarlo anche su una chiavetta USB. I TiddlyWikis sono buoni per l'uso personale o per l'uso della squadra. Mi sono innamorato di TiddlyWiki quando ho scoperto quanto fosse facile da usare e da modificare/personalizzare. Mi ha permesso di sostituire il mio calendario, il quaderno di progetto, il blocchetto legale gigante pieno di scarabocchi e una pila schiacciante di note adesive con un capolavoro di semplicistica serenità software. – bta

0

io uso google reader per memorizzare tutti i blog interessanti e aggiungere note sulle questioni era about.For codici stranamente ho sempre dimentica dopo aver risolto il problema, ma ora posso postare sul forum di asp.net e stackoverflow. Ma una cosa strana mi è capitata un paio di anni fa, ho avuto un problema e sono riuscito a cercare di risolverlo ma quando ho rivisto alcuni codici avevo scritto 3 anni prima che vedessi che avevo usato la stessa funzione e il medesimo codice per un problema simile Penso che anche se non ricordassi il codice, dev'essere stato nascosto da qualche parte nella mia mente :)

Problemi correlati