¿Cuál es una buena metodología cuando se trabaja en una tarea de programación?

Comenzar temprano
NO posponga sus tareas de programación hasta el último minuto. Esto es especialmente cierto para tareas más grandes. Si su tarea es muy exigente, se sentirá abrumado y sin esperanza si comienza a trabajar demasiado tarde. Comenzar temprano le dará tiempo para comprender el problema, codificarlo, probarlo e incluso pedirle ayuda o aclaración a su profesor / TA si se atasca por completo; su profesor / TA estará más dispuesto a ayudarlo si ha estado trabajando en el proyecto durante dos semanas en lugar de dos días o dos horas.

Comprenda el problema antes de comenzar a codificar
El error más común que cometí en mis primeros cursos de programación fue saltar a la codificación antes de entender completamente el problema. Esto resultó en mucha depuración y código mal escrito. Es mejor comprender el problema, encontrar una solución y ENTONCES codificar la solución.

Descomponerlo
Siempre que programe, siempre divida el problema en partes manejables. Por ejemplo, si su tarea es crear un sistema bancario simple que realice transacciones (retiro, depósito, etc.), entonces su primera tarea es dividir el sistema en esas funcionalidades. Entonces puede darse cuenta de que necesita manejar cuentas de usuario, por lo que divide esa funcionalidad en, digamos, crear usuario, eliminar usuario, etc.

Escribir código modular
Escribir código modular es muy importante porque hace que su código sea más fácil de leer y más fácil de depurar. He visto a algunos estudiantes escribir una función de 300 líneas. Claro, la lógica podría funcionar, pero si hay un error o un cambio en los requisitos, será difícil modificar el código. Personalmente prefiero mantener mis funciones en menos de 20 líneas.

Usa nombres significativos
El uso de nombres significativos no solo hace que su código sea más legible, sino que también garantiza que comprenda el problema que está tratando de resolver. A continuación se muestra un ejemplo. Si tiene dificultades para encontrar nombres de variables, probablemente sea porque no comprende completamente la solución que está tratando de implementar.

función mcd (a, b)
   Si b = 0
      devolver un
más
      regreso mcd (b, a mod b)
vs.

función mcd (dividendo, divisor)
si divisor = 0
dividendo de retorno
más
return gcd (divisor, divisor de mod de dividendo)