Je suis un élève du secondaire qui travaille sur un projet C # avec un ami à moi qui a à peu près le même niveau de compétence que moi. Jusqu'à présent, nous avons écrit environ 3 000 lignes de code et 250 lignes de code de test sur une durée de 100 commits. En raison de mes études, j'ai reporté le projet pendant quelques mois et récemment, j'ai pu le reprendre.
Au moment où je l'avais récupéré, j'avais compris que le code que j'avais écrit était mal conçu, notamment l'inclusion de threads excessifs dans le moteur de rendu, la mauvaise prévention des conditions de concurrence dans l'interaction entre le processeur émulé, le processeur graphique et la cartouche de jeu. , ainsi que du code qui est simplement redondant et déroutant.
Le problème est que je n'ai pas encore fini les fonctionnalités principales de mon programme, je ne peux donc pas vraiment refactoriser et je me sens découragé de continuer à être parfaitement conscient du fait que la conception de mon code est défectueuse. En même temps, je ne veux pas abandonner le projet; des progrès considérables ont été accomplis et le travail ne doit pas être gaspillé.
J'ai le sentiment que j'ai plusieurs choix: terminer simplement la fonctionnalité en contournant le mauvais design, puis refactoriser une fois que tout fonctionne, en arrêtant tout et en cherchant à tout démêler avant que le reste de la fonctionnalité ne puisse être terminé, puis en démarrant le projet. de nouveau pour qu'il soit frais dans mon esprit, ou abandonne carrément le projet en raison de sa taille excessive (essentiellement "retour à la planche à dessin").
D'après l'expérience des autres dans de tels projets, quel est le recours pour me remettre sur la bonne voie? D'après les réponses fournies sur ce site, le consensus général est que la réécriture est généralement inutile mais constitue une option disponible si le code ne peut pas être maintenu sans coût excessif. Je voudrais vraiment poursuivre ce projet, mais dans l’état actuel des choses, mon code n’est pas assez bien conçu pour que je puisse continuer, et un sentiment de découragement m’empêche de continuer.