Olvidando cosas que he hecho antes y cómo arreglas esto


19

No estoy seguro de si soy solo yo o si esto es común en nuestro campo.

El año pasado ha sido un poco intenso para mí. He estado aprendiendo algunas tecnologías diferentes para realizar algunas tareas y, a veces, he tenido que concentrarme completamente en esa nueva tecnología que estoy aprendiendo.

Sin embargo, lo que noté cuando volví a usar todo junto en el proyecto completo es que olvidé cómo hacer cosas que ya sabía hacer antes de comenzar a centrarme en aprender esa otra tecnología nueva. A veces encuentro que olvido incluso cosas simples como la sintaxis para seleccionar un div en jquery, que tengo que volver a los archivos antiguos para obtener un vistazo rápido.

A veces podría estar codificando algo que reconozco que hice antes en otro proyecto, pero no puedo recordar para qué proyecto fue, así que tengo que pasar por varios proyectos y revisar el código para intentar recordar dónde lo hice.

¿Qué formas has inventado para evitar olvidar cosas que has hecho antes o acceder fácilmente al código que has escrito en el pasado?


99
No estás solo hombre. Eso nos sucede a los mejores la mayor parte del tiempo. El cerebro humano tiende a olvidar cosas que no necesita en las tareas cotidianas, por lo que es perfectamente comprensible.
Terence Ponce

2
¡¡¡¡ERES TÚ!!!! : O Es broma. Me pasa todo el tiempo.
Nick Spreitzer

> ¿Le sucede esto a otras personas? Me sucede a menudo. La única solución es ser más joven. :-)
Stephen C

Respuestas:


7

Mantengo un registro de trabajo. Es solo un archivo de texto sin formato. Todos los días tomo notas sobre cosas en las que estoy trabajando: qué hice, qué tipo de problemas encontré, cómo los resolví, con quién hablé, qué discutimos, qué decisiones tomamos, archivos / clases / páginas web relevantes, etc.

Entonces, cada vez que tengo un problema y tengo un sentimiento de deja-vu al respecto, solo busco en mi registro de trabajo y en la mayoría de los casos puedo encontrar rápidamente lo que estoy buscando.

El registro de trabajo también facilita el seguimiento de cómo pasa su tiempo, escribe informes semanales / mensuales, se prepara para las evaluaciones de rendimiento.


6

Me pasa a mi Por ejemplo, dado que realmente no los uso en mi trabajo, constantemente vuelvo a aprender Ruby / Javascript. Eventualmente comienzas a recordar algunas cosas, pero también he adquirido una ENORME cantidad de marcadores de navegador con muchas etiquetas de las que dependo mucho. Para fragmentos de código de uso común, tengo una colección de ellos, pero aún tengo que: 1. Recordar que los tengo, 2. Encontrar el que pensé que podría ser relevante y 3. Determinar si lo que recuerdo era realmente aplicable o no. Lamentablemente, no me he molestado en encontrar un sistema mejor.


5

No, no eres solo tú. Creo que esto es común en casi cualquier cosa teórica que no uses por un período de tiempo más largo. Piensa en todas las cosas que has aprendido en la escuela o en la universidad que ya no recuerdas. Tiendo a olvidar cosas ya 2 semanas después del examen final ...

La única forma de remediar esto, que yo sepa, es usarla. A menudo. Es como los comerciales de televisión donde recuerdas cada línea y escena. ¿Por qué? Porque los ves todos los días: un recordatorio constante que hace que tu cerebro reorganice sus sinapsis (o lo que sea que haga) para que lo recuerdes. Imagínese si pudiéramos hacer lo mismo para todo el conocimiento que nos gustaría recordar: algoritmos, métodos, fórmulas, sintaxis, etc. (Creo que es hora de protestar y hacer que las estaciones de TV muestren este tipo de cosas útiles durante los descansos del programa en lugar de esos comerciales de mal gusto.) Pero afortunadamente, casi todo lo que una vez aprendió puede volver a aprender en menos tiempo.

Si sabe cuándo está escribiendo un código que querrá revisar en algún momento en el futuro, cópielo en un archivo separado y guarde una biblioteca de fragmentos de código útiles. De esa manera no tienes que buscar en proyectos completos. También asegúrese de organizar estos fragmentos de código después del idioma y el tipo (¿Qué hace el código? ¿Por qué lo guardó?) Para facilitar el acceso.


4

Les puedo asegurar que parece empeorar a medida que envejecen :-) Pero eso se debe a que cuanto más tiempo estén desarrollando, más conocimiento habrá para olvidar.

Por otro lado, ganas más "intuición". Reconoce patrones, cómo resolver ciertos problemas y otras cosas que ha aprendido en proyectos más antiguos con diferentes idiomas y entornos, y puede utilizarlos aunque las condiciones actuales sean diferentes. Quiero decir, constantemente miro hacia atrás al código que escribí hace apenas un año y pienso: " Hoy lo escribiría de manera diferente " e incluso con bastante frecuencia " Hoy sé cómo resolverlo mejor ".

Entonces, a pesar de que puede olvidar muchas cosas como métodos y nombres de clase para una determinada API, sus habilidades normalmente mejoran en un nivel superior.


3

Esto me pasa todo el tiempo. Simplemente tengo tantas cosas sucediendo en ese principio mío que olvidaré muchas de las cosas más simples. Nombres, cumpleaños, reuniones irritantes se deslizan como el agua a través de la arena. Pero cualquier cosa que tenga que ver con computadoras, programación, matemáticas o algo así simplemente se queda allí. La mejor manera de memorizar un idioma, tecnología o incluso un proyecto es escribir una Cheat Sheet .

Generalmente tengo una referencia rápida para todo lo que trabajo, así puedo recordarme rápidamente lo que está sucediendo. También tengo un cuaderno donde guardo todas mis notas y números de páginas de referencia en las hojas de trucos.


3

Eso me sucedió en muchos casos antes. Es por eso que escribimos documentación en nuestro código.

Y a veces, solo necesita una referencia en Internet para ayudarlo. Está perfectamente bien buscar ayuda.


1
"Por eso teníamos que escribir documentaciones en nuestro código". Dejando a un lado la gramática, documentar una sintaxis de lenguaje en el código de producción simplemente lo abarrota y lo hace menos mantenible. ¿Qué tal escribir la sintaxis básica de un idioma dado + algunos enlaces útiles en un .txt separado?
vemv

2

A menudo olvido cosas después de no usarlas por un tiempo: sintaxis, palabras clave, técnicas, etc. Para ayudar, leí este libro de Dominic O'Brein (8 veces Campeón del Mundo de Memoria). Hay algunas técnicas y consejos de ese libro que utilizo para ayudarme a recordar cosas. No siempre es fácil aplicar esto a la programación, pero con un poco de creatividad, puede comenzar a vincular las cosas para ayudarlo a recordarlas mejor. No es perfecto, pero podría ayudar con el tiempo.

Además, lea este artículo. Es una lectura interesante que me dio algunas ideas sobre cómo mejorar mi recuerdo de mi trabajo de desarrollo.

De hecho, la herramienta más útil para mí ha sido los mapas mentales. Los uso para todo tipo:

  • Documentación de casos de prueba.
  • Describiendo visualmente la arquitectura de un proyecto en el que estoy trabajando.
  • Notas y enlaces a sitios web sobre una tecnología que me interesa.

Los mapas mentales se pueden usar para muchos escenarios diferentes. Ciertamente ha marcado una diferencia para mí al aprender cosas nuevas.

Salud. Jas


2

En cuanto al código (desde fragmentos cortos hasta clases completas) que ha escrito y que cree que posiblemente tendrá que reutilizar en el futuro: mantenga un blog de programación pública en el que escriba y explique todo esto. Esto tiene una serie de ventajas:

  • Lo más obvio, tendrá un repositorio de código para verificar en el futuro.
  • Querrás escribir publicaciones de blog realmente útiles, para que otras personas que puedan leerlas realmente las entiendan. La mayoría de las veces esto lo obligará a refactorizar su código sobre la marcha, lo cual es algo bueno.
  • Ocasionalmente, los lectores de blogs pueden señalar errores o sugerir mejoras útiles a su código, lo cual es MUY bueno.

Puede escribir un blog regular o usar sitios orientados a la programación como Refactor My Code o The Code Project .

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.