Respuesta corta:
Practica, practica, practica.
Respuesta no tan breve:
¿Cómo recuerdas cómo caminar? ¿Cómo recuerdas cómo hablar? Por supuesto, estas habilidades no son exactamente iguales y no requieren un conocimiento enciclopédico (aparentemente, al menos para los principiantes), pero estás usando lo mismo: la memoria.
Aunque admito que, para los principiantes, la programación puede parecer un tema increíblemente grande cuando empiezas a estudiarlo, se vuelve como cualquier otro tema una vez que hayas aprendido lo básico.
Tan pronto como lo descubrí, comencé a dividir las cosas en partes cada vez más pequeñas (mi propia versión personal de abstracción). De esa manera, algo que parecía difícil de recordar se vuelve más fácil (al menos conmigo lo hace).
Escribir cosas ayuda más de lo que piensas (después de haber trabajado en Educación, sé que esto puede tener efectos positivos masivos en la retención). Especialmente si puedes ponerlo en tus propias palabras, en lugar de simplemente copiarlo literalmente. Si puedes parafrasearlo o igualarlo con algo que ya sabes, aún mejor.
Por ejemplo:
En C #, los objetos String son inmutables. Esto significa que cada vez que le digo a mi programa que cambie el contenido de un objeto de cadena, lo que realmente sucede es que la cadena original se destruye (técnicamente se coloca en el nivel más bajo del recolector de basura). Exactamente como cuando un artista comete un error al crear una escultura de mármol: no se puede cambiar, por lo que se destruye y se crea uno nuevo.
No es un gran ejemplo, pero muestra los aspectos básicos de lo que estoy tratando de conseguir.
La documentación de calidad también ayuda. Algo que mi profesor de Programación 101 me dijo una vez que se quedó conmigo:
Haz tu comentario detallado. No hasta el punto de la estupidez, pero necesita poder escribir comentarios que un programador no pueda entender. De esa manera, usted sabe que alguien más en el proyecto puede entenderlo perfectamente. Imagina que pasarías meses implementando un sistema, pero te verías involucrado en algún tipo de horrible accidente en el camino al trabajo. A otra persona se le asignará su trabajo, especialmente si está cerca del momento crítico, y si no pueden averiguar qué está haciendo su código, la producción se detiene.
Los buenos libros también son un excelente recurso. Un tutor diferente me dijo una vez que si un libro no tiene un índice (y hay muchos de ellos, que no tienen), entonces no vale la pena comprarlos.
Google puede ser un recurso increíble, pero tenga en cuenta los codificadores de copiar y pegar. Manténgase alejado de los sitios que solo le dan un bloque de código sin ninguna explicación. Prefiero leer un artículo completo sobre pequeños bloques de código, de esa manera te irás sabiendo exactamente lo que el bloque de código debe hacer, cómo lo hace y por qué el programador lo escribió de esa manera.
Espero que ayude