¿Necesito corregir la forma en que abordo la programación de computadoras?

Gracias por A2A …

Está bien si está desarrollando aplicaciones simples, pero si avanza hacia el desarrollo de algunos softwares complejos, puede perder el rumbo y perderse. Es bueno que pueda pensar en el sistema y obtener ideas, pero también es necesario poner sus ideas de manera sistemática para construir el sistema.
No hay necesidad de obtener una visión adecuada, solo haga una clase de esqueleto con métodos básicos. Después de ese código para llamar a otros métodos a partir de métodos básicos existentes de acuerdo con sus ideas y requisitos, uno por uno. Ahora, puede mejorar su software probándolo en varios casos de prueba y casos extremos. Usted mismo descubrirá cualquier requisito de agregar nuevos métodos mientras lo prueba con varios casos de prueba.
Entonces, en pocas palabras, simplemente aborde su camino desde un código esqueleto a un código bien desarrollado y el descanso está bien … 🙂

Eso está bien para algunas cosas. También caigo en esa trampa de vez en cuando, especialmente en la creación de módulos y demás.

Pero si está realmente preocupado, parece que necesita una estructura similar a TDD … Escriba primero las pruebas, y eso ayuda a identificar cómo se verán sus clases, qué lograrán. Entonces podrás armarlo de una manera más lógica cuando comiences. No es necesario mostrar visio cuando planifica de manera más activa cómo va a lograr sus objetivos.

Estaba teniendo una conversación con un amigo mío que es una persona acérrima TDD / BDD, y hablamos sobre las veces que no estaban usando TDD / BDD, y fue cuando no había una idea en lugar de lo que quería parece que al final, pero tan pronto como comenzaron a tener esa idea, comenzaron a escribir pruebas porque pudieron estructurar cómo procederían desde el punto inicial de forma libre más fácilmente.

El uso de TDD probablemente parecería que lo ayudaría a mantenerse más organizado y trabajar más rápido (a pesar de que está escribiendo más código), y ayudar a mantener una sensación de integridad del código cuando salta por todo el lugar.