Bajo el título de " etc. " viene algo que fácilmente puede tomar el 50% o más de su tiempo.
Aprende a depurar.
Esto significa aprender el Método Científico . Me refiero a realmente aprenderlo. Y luego aplicarlo con brutal honestidad . Aprende a decir con precisión lo que sabes que es verdad, lo que sabes que no es cierto y las cosas que no sabes. Cada vez que asigna descuidadamente un elemento a la categoría incorrecta, acaba de hacer su vida mucho más difícil.
Aprende a decir "pienso" en lugar de "sé". ¡Solo puedes decir "lo sé" cuando "piensas" que algo es verdadero (o falso), y luego lo pruebas!
Muchos errores son triviales, pero pueden ser difíciles de ver porque "sabe" cuál debería ser el código ... excepto que no lo es. Encuentra un amigo para explicárselo. Pídales que sean un "idiota experto": alguien que no conoce su código, pero que sabe que no puede dejar pasar a BS. No se sorprenda si en medio de una descripción para ellos, de repente se detiene y dice: "y así puede ... ver ... ver eso ... sh * t. Gracias".
Los errores no triviales requieren un arsenal de técnicas. Un clásico que puede destacar rápidamente la mayoría de los errores no relacionados con el tiempo es Wolf Fence en Alaska. Hay un lobo en algún lugar de Alaska; construir una cerca cortando el estado por la mitad. ¿De qué lado está el lobo? Corta ese lado por la mitad. Enjabonar, enjuagar, repetir. Hacer esto 20 veces en lugares bien elegidos en el código reduce el área donde el error (lobo) puede estar a 1/1048576. Mata a ese lobo.
Consejo: busque ondas manuales, físicas, mentales o de cualquier otro tipo. Tan pronto como usted (o su colega) retroceda / desvíe / minimice la atención prestada a una parte del código, se volverá totalmente rabioso . Debido a que el área donde se sabe que el error no puede ser, a pesar de que ha pasado horas / días buscando lo d * mn y todavía no puede encontrarlo ... esa es la ubicación de mayor probabilidad para el error. Nadie recibe un "adiós" , nadie (incluida la máquina, el sistema operativo, el compilador o usted ) recibe ningún tipo de "debido respeto". Hay un error Período. Fin de la oración. Ahora ve a matar a la maldita cosa.
No conozco ninguna escuela que enseñe la depuración como un tema en sí mismo. IMNSHO, esta puede ser la evidencia más evidente de que ellos (universidades / profesores) no te están enseñando a ser programador, sino que te están enseñando a ser ... ¿como ellos? ¿Duro? Quizás. ¿Cierto? Decídete de una vez. Ahora pruébalo.