Después de elaborar un proyecto, puede requerir demasiados ajustes y cambios para que funcione correctamente ...
¿Qué puedo hacer para evitar esto?
Hay una regla simple, que aplico todo el tiempo porque también tiendo a ser perfeccionista. Y el perfeccionismo te lleva a la mediocridad.
Establece una fecha límite. Enviar en ese plazo.
Para evitar que su software tenga un estado no definido de función faltante que lo hará inutilizable, use esta definición de hecho para cada característica que produzca. No inicie la siguiente función hasta que se completen TODOS los pasos:
Supongo que puede crear una versión con un clic del mouse (usando scripts de compilación)
Antes de dar mi respuesta (o la sugerencia de una respuesta, realmente), debo decir que no tengo mucha experiencia en proyectos grandes y solo declararé lo que he leído y creo que es una de las causas. Es muy posible que me equivoque, pero lo más probable es que haya aprendido algo de todos los comentarios que recibiré. ^^
Creo que un factor importante es no dejar que su código se deteriore mientras el proyecto está en marcha. Esto se puede evitar de muchas maneras, de las cuales solo conozco algunas:
No espere demasiado con la refactorización: la refactorización lleva algún tiempo, pero valdrá la pena no tener que realizar llamadas de función complicadas solo porque no podría molestarse en reescribir el código para permitir ese parámetro adicional. Un código más intuitivo y menos duplicado reduce la cantidad de errores.
Repara la ventana rota: en The Pragmatic Programmer , leí sobre un fenómeno conocido como la ventana rota. Los autores sostienen que el código comenzará a deteriorarse de la misma manera que se deteriora un edificio: comienza con una ventana rota. En código, esto significa correcciones feas, nombres de variables, funciones; en general solo mal código. He encontrado que esto es cierto: codifico mejor y estoy más feliz con la codificación cuando mi base de código es sólida. Si hay demasiadas ventanas rotas, a menudo no tengo ganas de hacer el esfuerzo de escribir un buen código. Entonces, si ve una ventana rota, corríjala lo más rápido posible; refactorizar si es necesario. Esto conducirá a menos errores y ajustes innecesarios.
Y no olvides leer la respuesta de Pierre 303 .
¿Qué es "demasiado" ajustes y cambios? El mantenimiento del software puede llevar mucho más tiempo que el desarrollo inicial del software. No hay nada de malo en eso. Para mantenerse organizado, use un rastreador de problemas .
De todos modos, por supuesto, querrás hacerlo inicialmente tan bien como puedas. Para eso, nada supera las pruebas .