- Conocer a fondo el paradigma de programación con el que trabajas (si ni siquiera sabes que es un paradigma, es porque estás en el comienzo del camino ... muy al comienzo): sus ventajas y desventajas, y alguna metodología de desarrollo aplicable.
- Conocer cabalmente el lenguaje de programación con el que trabajas. Es decir, sus características y su sintaxis.
- Conocer tan ampliamente como sea posible las bibliotecas del lenguaje: los componentes, las clases y las funciones que provee.
- Conoces en profundidad el entorno de desarrollo con el que trabajas (IDE).
Si no fallas al menos el 90% de las veces, es que no estás apuntando suficientemente alto.
Alan Kay.
¿Cómo te das cuenta de tu avance en el aprendizaje?
- Entiendes tu propio código y el de otros leyéndolo al vuelo (si es que está bien escrito).
- Comprendes que el código debe ser auto-explicativo y lo aplicas tanto como puedes.
- Eres minimalista en el uso de comentarios, pero no dudas en escribirlos cuando es necesario.
- Te resulta evidente cuándo debes comentar el código.
- Escribes programas que compilan o cometes sólo unos pocos errores de este tipo en un programa de tamaño no trivial.
- Entiendes lo que significan los mensajes de error del lenguaje.
- Te das cuenta de tus propios errores y los corriges con cierta facilidad.
- Eres conciente de la necesidad de manejar la complejidad.
- Entiendes lo que es "análisis y diseño" y lo aplicas.
- Te diste cuenta que las sesiones de depuración paso a paso o combinadas con puntos de interrupción consumen mucho tiempo y pocas veces te ayudan a corregir errores (a menos que estés comentiendo muchos errores de tiempo de compilación).
- Comprendes que tienes que poner a trabajar al ordenador por tí tanto como sea posible, automatizando todas las tareas repetitivas y lo haces.
- Puedes re-usar tu propio código y el de otros.
- Comprendes que un buen diseño es tolerante a los cambios.
- Eres conciente de la necesidad y utilidad de las pruebas unitarias.
- Escribes programas cuyo diseño es tolerante a los cambios.
- Escribes tus pruebas unitarias metódicamente.
- Te das cuenta de qué tipo de pruebas unitarias vale la pena escribir en cada caso.
¿Qué consideraciones faltan, sobran o te parece que habría que corregir?
Esto parece un típico post de blog, pero en realidad lo acabo de escribir.
Saludos.