2009-12-03 14 views
24

Considero que uno de los aspectos más frustrantes del desarrollo de software es encontrar una solución a un problema, olvidarlo y enfrentar el mismo problema en el futuro solo para olvidar cómo lo resolvió previamente. O para escribir un fragmento de código útil, luego en un proyecto posterior no podrá encontrar este código.¿Cómo mantenerse seco? ¡No te repitas a ti mismo!

Mi pregunta general es la siguiente: ¿Cómo se hace un seguimiento de todas las cosas nuevas que se aprenden cada día durante la programación? ¿Alguien tiene una forma sistemática de capturar el conocimiento y aplicarlo fácil y eficientemente en el futuro?

ACTUALIZACIÓN: Gracias al de las respuestas, esto es lo que se le ocurrió:

Social

  • Stackoverflow
  • Tumblr
  • Twitter
  • Evernote
  • Blogs/Wikis

Código repositorios

  • Github
  • Unfuddle
  • LaunchPad
  • Google Código

escritorio

  • Dropbox
  • Yojimbo (mac)
  • VoodooPad (mac)
  • WikidPad (ganar)
  • Surfulater
+20

La tragedia de * DRY * es que cada vez que alguien usa el acrónimo, tienen que repetirse y deletrear el completo frase:/ –

+11

@David Hedlund - tiene un seco sentido del humor – philsquared

+1

buen resumen, @hapope, y definitivamente entrar en el espíritu de inmediato - muy meta :-) – philsquared

Respuesta

8

Stackoverflow es un buen lugar para empezar :-)

Mantener un blog es otra cosa (here's mine).

Incluso Twitter puede ser útil para esto.

También hay una serie de aplicaciones "desktop wiki" que me parecen muy útiles: VoodooPad en Mac y Wikidpad para Windows.

Por último, si usted necesita para almacenar fragmentos (o más) de código (que tiene los derechos para, por supuesto), entonces hay un montón de repositorios de código fuente disponible ahora (GitHub, LaunchPad, Google Code o Unfuddle si quiere un control completo).

0

utilizo Yojimbo hacer un seguimiento de casi todos los algoritmo de ordenado, código fragmento, o idea práctica.

0

Una base de datos de notas (utilizo una aplicación llamada Surfulater) y un árbol de directorios de código fuente (también guardado en un repositorio de Subversion).

Si comenzara hoy, probablemente usaría algún framework Wiki para almacenar mis notas.

2

Yo también estoy teniendo este problema. Empecé hace un par de meses añadiendo buenas preguntas/respuestas de SO a mis favoritos, incluso a aquellos que respondí o publiqué. Creo que es un buen comienzo. :)

5

El cerebro tiene límites. Acéptalo

La solución es hacer pruebas para su código, de modo que pueda fusionar código repetido sin sudar nada tan pronto como lo note.

1

Creo que Evernote es uno de los mejores recursos para almacenar todo tipo de notas. Incluso puede cargar fotos de textos (digamos desde su iPhone, o solo su computadora), y el texto será OCR, para que pueda buscar partes de texto en texto libre más adelante.

+0

Evernote es una gran aplicación. Lo uso todo el tiempo para almacenar documentos escaneados y otros bits de datos de probabilidades. Sin embargo, no creo que sea una gran tienda de información para desarrolladores. Para eso prefiero las aplicaciones de escritorio wiki tipo que mencioné en mi respuesta. – philsquared

2

Escribir un blog. Publique sus hallazgos, ejemplos de código y todo lo demás. La mejor manera de guardar el conocimiento para el futuro.

+1

Lo que me recuerda, tuve una publicación exactamente para ese propósito en mi blog, que acabo de migrar a Stack Overflow. ¡Gracias! –

2

No me importa demasiado cuando olvido cómo resolví un problema hace cinco años. Lo más probable es que, mientras tanto, haya una mejor manera de hacerlo disponible. GIYF.

+3

A veces esto es cierto, a veces no lo es. Muchas veces me he encontrado trabajando en una solución, solo para descubrir que estoy trabajando para lograr la misma solución que tenía antes. Siempre es bueno tener una perspectiva nueva, pero tener ejemplos previos a mano puede ser muy valioso. – philsquared

2

Si es para una organización, tener página wiki interna (o algo similar) podría ayudar. Si es solo para usted (y cualquiera que esté interesado), escriba un blog, fragmentos de favoritos en Internet, etc.

Para el código, un buen enfoque (en ambos casos: organización y usted mismo) es mantener algo que yo llamo " Biblioteca de utilidades ". Cada fragmento de código que me gusta suele coincidir con uno de los ámbitos de problemas/espacios de nombres de la biblioteca. De esta forma, con el tiempo, tienes una base de códigos ordenada que te permite no volver a inventar el weel. Por supuesto, después de un par de meses o años la biblioteca necesita documentación para encontrar algo allí :)

0

Siempre llevo conmigo todos mis proyectos interesantes usando dropbox. Entonces, por lo general, sé dónde encontrar los trucos que hice antes.

Cada vez que veo algo bueno en SO lo protagonizo, cada vez que veo un buen artículo en la web lo marque.

Mantener un blog o tumblr también es bueno.

0

Estoy acostumbrado a llevar mi disco flash donde sea que vaya. Entonces, tengo una carpeta diferente para notas de C#, notas de Asp.Net, Patrones de diseño, etc.

Y cada vez que hago algo que siento que puedo usar en el futuro, básicamente abro el documento de Word relevante en él, agregue los detalles y el fragmento de código con un encabezado y guárdelo.

No sé cómo lo hacen los otros pero realmente me ayuda.

No olvide agregar un índice de referencia al principio del documento.

P.S: También llevo todos los libros electrónicos en mi disco. Tenerlos a todos en el bolsillo me da una muy buena sensación.

4

Uso TiddlyWiki para realizar un seguimiento de un montón de cosas.Es una wiki independiente de una página que puede ejecutar desde su escritorio o su servidor.

Si desea una solución alojada, puede obtener una de forma gratuita en más de TiddlySpot

+1

. Puedo agregar que dado que TiddlyWiki es un único archivo HTML, también puedes llevarlo en una unidad flash. TiddlyWikis es bueno para uso personal o para uso en equipo. Me enamoré de TiddlyWiki una vez que descubrí lo fácil que era usar y modificar/personalizar. Me ha permitido reemplazar mi calendario, cuaderno de proyectos, bloc de notas gigante lleno de garabatos y un abrumador montón de notas adhesivas con una obra maestra de serenidad de software simplista. – bta

0

Yo uso Google Reader para almacenar todos los blogs interesantes y añadir notas sobre los temas que era about.For códigos extrañamente Siempre olvidar después de haber resuelto el problema, pero ahora lo publico en asp.net forum y stackoverflow. Pero solo me sucedió algo extraño hace un par de años, tuve un problema y logré investigar para resolverlo, pero cuando revisé algunos códigos que había escrito 3 años antes, vi que había usado la misma función y el mismo código para un problema similar. Creo que incluso si no recuerdo el código, debe haber estado escondido en algún lugar de mi mente :)

Cuestiones relacionadas