A veces una gran tarea es desalentadora, lo que incluso puede hacer que "simplemente se codifique" sin planificación imposible, ya que simplemente no se sabe por dónde empezar. Recuerdo que hace años solía quedar atrapado durante años tratando de trabajar en algo nuevo, porque me habían criado en una posición en la que mi trabajo principal consistía en hacer mejoras: no tenía experiencia de trabajar con un lienzo en blanco. Era paralizante, incapaz de comprometerse con un enfoque porque podría ser una opción de diseño subóptimo.
Pero de todos modos, en estos días tiendo a sentarme con papel y repetir el diseño.
Si es grande, comenzaré a esbozar cómo las partes funcionarán por separado y, finalmente, estas piezas se unirán. Intento convertirlo en clases o módulos y luego descubriré que hay redundancias en el diseño, o hay algo allí que simplemente no funciona. Así que empiezo de nuevo, lo apunto con un mejor enfoque ... y descubro más problemas. Continúo iterando, obteniendo una mejor comprensión del problema en cada barrido. (Las pizarras digitales pueden ser buenas para levantarte, siendo físicas y resolviendo problemas espinosos)
Cuando tengo un diseño de diagrama de flujo/psuedo bastante detallado que no tiene problemas obvios, es cuando comienzo la codificación.En un entorno formal, el boceto de diseño final es lo que convertiría en una especificación y distribuiría a los usuarios/desarrolladores para su revisión.
A menudo, con un diseño complicado, voy a transformar este bosquejo del diseño en los comentarios que me guía como el código I, que es más rápido y más preciso que tener que consultar mis notas cada 2 segundos:
// open file
// read header line
// check header is right (watch for int problem)
// select right config object
// loop over lines, read each line into config object
Y Yo convierto cada comentario en código.
Esto es mucho más eficiente que codificarse en un callejón sin salida y tener que escribir y reescribir simplemente porque no tenía un control sobre el problema desde el principio. Esto no significa que el diseño ya no cambiará, todavía encontrará problemas, pero algunos errores importantes del diseño pueden ser eliminados antes de llegar al IDE.
Hay muchos enfoques para el diseño, esto es lo que funciona para mí. Lo mejor puede variar según el tipo de proyecto y el tamaño del equipo.
hago lo mismo. No podría haber dicho mejor. –
Bien dicho, y lo estoy usando y me dio buenos resultados en mi carrera de 4 años y todavía lo sigo. – JPReddy