
De un traductor: Hoy publicamos para usted
un artículo de la desarrolladora novata Amy Haddad. Explica por qué los programadores deberían volver a los problemas ya resueltos.
Muchos desarrolladores dan el mismo consejo: resuelven tantos problemas como sea posible para ganar constantemente nuevas experiencias y conocimientos. Este es un buen consejo, ya que resolver problemas con el código le permite aprender cosas nuevas y mejorar las habilidades existentes. Pero también considero importante repetir: el mismo problema se puede resolver de diferentes maneras. Y tal repetición también le permite al programador obtener ganancias en forma de mejorar las habilidades.
Skillbox recomienda: un curso práctico de dos años, "Soy un desarrollador web PRO" .
Le recordamos: para todos los lectores de "Habr": un descuento de 10.000 rublos al registrarse en cualquier curso de Skillbox con el código de promoción "Habr".
Se lo que no se
Si logré resolver el problema por primera vez, esto no significa que pueda tratarlo nuevamente.
Recuerdo la situación con una biblioteca y un error en ella. Logré resolver este problema, aunque estuve atrapado en él durante mucho tiempo. Pero unos días más tarde volví a encontrar el mismo problema y ya olvidé la solución inicial. Entonces, en lugar de deslizarse rápidamente por este lugar y seguir adelante, tuvo que pasar tiempo nuevamente.
Entonces me quedó claro que necesitaba trabajar más con operadores y funciones condicionales. También me di cuenta de lo importante que es el estudio de los problemas: esto me permite probar mi propio conocimiento y ver los vacíos que deben llenarse.
Trabajar con código defectuoso brinda una nueva experiencia, como se discutió anteriormente. Es genial poder resolver el problema con las clases en el momento en que las estudio. En este caso, todo parece bastante simple. Pero, ¿qué pasa si esto me pasa en un futuro cercano? En este caso, podré entender si he adquirido nuevos conocimientos adquiridos anteriormente, o si vale la pena consolidarlos.
Viejos problemas, nuevas soluciones
Incluso cuando recuerdo mis acciones al trabajar en una tarea por primera vez, en el segundo intento encontrar una nueva solución para mejorar mis habilidades. Por ejemplo, resolví uno de los problemas en el código usando Loop. La segunda vez encontré una nueva solución, y el código se volvió más lógico y legible. Logré reducir su volumen en un 50% en el área del problema y, como resultado, no solo entendí cómo debería funcionar todo, sino que también descubrí los matices del proceso.
En otra tarea similar, Loop redujo el código y lo hizo más legible. Pero como parte de la "repetición", resolví el problema sin él, para asegurarme de que podría encontrar una solución alternativa.
Puedo decir que el estudio de los problemas me sacó de mi zona de confort, así que comencé a pensar fuera de la caja. Solo por esto fue posible encontrar una solución alternativa.
Aprendiendo a escribir exámenes
Esta es la tercera vez que leo un libro de Brian Hogan Ejercicios para programadores. Analizo sus ejemplos y cada vez que trato de encontrar una nueva solución. Esta vez practico escribiendo mis propios exámenes.
Así es como funciona: selecciono un ejercicio aleatorio de un libro y me siento a codificar. Dividí el programa resultante en varios archivos, donde cada uno es responsable de una solución separada. Y luego escribo pruebas.
Al final, quiero aprender a escribir una prueba primero, y luego codificar, pero esto aún está por venir. Ahora estoy practicando crear y resaltar funciones e importar archivos.
La repetición constante de ejercicios le permite crear patrones que se depositan en la cabeza. Además, pueden usarse como modelo mental para resolver nuevos problemas. Por cierto, vi este consejo en el libro de George Paul Cómo resolverlo. Él aconseja resolver un nuevo problema para buscar una conexión con cualquier experiencia existente.
“Piensa en lo que te ayudó en una situación similar en el pasado. Busque algo familiar en el problema actual, intente usar su experiencia ".
Paul tiene razón. Realmente utilizo bastante experiencia previa para resolver problemas de un nuevo tipo. Por ejemplo, recientemente trabajé con anagramas. Logré resolver uno de los problemas actuales con la ayuda de la experiencia adquirida en ese momento. A pesar de que la tarea anterior era más simple, permitió encontrar una nueva solución.
Estudiar problemas le da al programador muchas cosas útiles. Formulamos nuevos conceptos, fortalecemos los antiguos y creamos una base de conocimiento, que luego forma la base del trabajo.
Skillbox recomienda: