Tengo que contarte una historia tonta para contestar esto. A pesar de que crecí en la costa de Jersey, hubo una extraña brecha en mi experiencia. En los años 90 visitaba Manhattan en la primavera. Estaba en mis pantalones cortos y camisetas de gimnasio, y les dije esto a algunos transeúntes:
“Estoy muy emocionado porque tengo un boleto para ver a Alfred Brendel jugar esta noche”. ¿Cómo llego al Carnegie Hall desde aquí?
¡Esta pregunta hizo reír a todos los transeúntes! Uno de ellos me explicó amablemente: “Es una vieja broma de vodevil. La frase clave es ‘¡Practica, practica, practica!’ ”
Mis amigos estaban desconcertados de que nunca hubiera escuchado esa broma antes.
- Cómo dejar de preocuparme y superar mis miedos.
- Quiero mejorar mis habilidades de costura. ¿Cuáles son algunos buenos proyectos en los que puedo comenzar?
- ¿Cómo podría superar la postergación y mantener un alto nivel de productividad + motivación?
- ¿Alguien ha cambiado de un procrastinador extremo a una persona altamente productiva? Si es así, ¿cómo lo hiciste?
- Cómo mejorar mis fundamentos en Calculas
En general, mi experiencia ha sido que leer el código de otras personas es terriblemente difícil. Pero si dominas esta habilidad, nunca debes quedarte sin trabajo mientras vivas.
Lograr fluidez en un entorno de desarrollo interactivo hace que la programación, especialmente la programación Java, sea menos tediosa. Java funciona extremadamente bien con IDEs. Los dos principales para Java son IntelliJ y Eclipse.
Descargue un cuerpo de código fuente de Java que haga algo interesante que generalmente entiende, pero le gustaría aprender más. Instálalo como un proyecto Eclipse o IntelliJ Java. Aprende sobre la biblioteca JUnit: te permite escribir pruebas unitarias para código Java.
Piense en una forma en que puede usar el código que descargó para hacer algo y configurar las entradas y el entorno para que el código lo haga, y luego ejecute el código dentro de esta configuración. ¿Es el resultado lo que esperabas? ¿Puede pensar en los criterios que utilizó para decidir esto, de modo que pudiera escribir un fragmento de código que devuelva el booleano “verdadero” si el resultado es correcto o “falso” si el resultado es incorrecto? Ahora tienes todos los ingredientes de una prueba JUnit.
De hecho, estoy haciendo exactamente esto en este momento con la EJML (biblioteca de matriz de Java eficiente).
Esta no es solo una buena manera de aprender sobre el código de otra persona, sino también una buena forma de desarrollar su propio código. Hay personas que creen que no deberías escribir ningún código funcional hasta que hayas escrito una prueba para ello. Esto le obliga a pensar en cuáles son las entradas y el entorno necesarios, y cuáles son los resultados esperados.
Esto se denomina desarrollo guiado por pruebas. Algunos desarrolladores y gerentes de desarrollo lo tienen como una religión. No comparto esta opinión, pero creo que TDD es una idea realmente buena e importante.