À moins que vous n'ayez fait le travail plusieurs fois auparavant, vous vous retrouverez toujours avec du code de spaghetti. En fait, à ce stade, vous venez juste de commencer: ce que vous avez est le brouillon d'une spécification préliminaire. Découvrez quelques-uns des autres conseils ici et faites une réécriture sérieuse. Et puis un peu plus de réécriture, et puis ... Personnellement, je ne suis jamais sûr si je reçois mon code en très bonne forme ou si j'en ai juste marre de le réécrire, mais je semble bien le faire finalement.
Résolvez le problème de deux côtés. Essayez de donner un sens à la conception globale et de choisir de petites pièces qui gèrent les tâches simples et de les faire correctement. Essayez ensuite de vous frayer un chemin des deux extrémités vers le milieu. Et puis travaillez du milieu dos vers les deux extrémités. Puis de haut en bas, puis de bas en haut. Répétez ensuite tout le processus.
Essentiellement, ce que vous avez est une collection de classes. Considérez la classe A. Si la classe A est bien construite, ses classes qui l'utilisent fonctionneront automatiquement mieux, qu'elles soient bonnes ou mauvaises. Si la classe A utilise bien les classes, ces classes utilisées feront plus, qu'elles soient bonnes ou mauvaises . Alors organisez vos cours du mieux que vous pouvez, puis assurez-vous que chacun est le meilleur cours possible.
Il est important de bien faire les choses. Un mauvais code vous hantera jusqu'au jour où vous le jeterez. Avec un logiciel, un peu de polissage supplémentaire est toujours payant. (À moins que personne ne finisse par utiliser le code ....)
Pour résumer: consultez les conseils réels donnés dans les autres réponses, puis réécrivez votre code jusqu'à ce que vous obteniez quelque chose que vous aimez.