changer la façon dont sont organisées les données ça peut avoir des conséquences énormes qui vont se répercuter sur une grande partie du code.
Est-ce qu'il n'y a pas dans ce cas un début symptomatique de couplage fort (?)
Si le code n'est pas pensé pour dès le départ on aura des synchronisations partout ce qui va ruiner tout gain apporté par le multi-threading.
Il n'y a pas trop de mystères, il faut le réécrire. D'où l'importance de tester.
Mais avoir un code propre bien découpé peut énormément aider à la refactorisation je pense.
Pour ton exemple, tu auras bien 2 arbres, mais 2 arbres de "demi-objets" : ils seront divisés en 2 parties distinctes (affichage / gameplay).
J'ai du mal à visualiser ce que tu entends par là.
Si cette séparation des objets en 2 parties n'est pas pensée dès le début, il sera difficile de multi-threader les traitements si les besoins s'en font sentir.
Après, ce sont des bonnes pratiques, plus que des choix. Faire que le code soit le plus propre et le plus évolutif possible.
Mais faire ces choix, demande aussi une grande expérience et on est jamais à l’abri d'erreurs.
Partager