22-10-2019, 02:33 PM
Coucou !
Hier en programmant le système d'appâts le plus simple possible pour Seelies, je me suis posé une question d'ordre plutôt philosophique.
Il y a 3 interactions dans le cadre des appâts : ajouter un appât à un territoire (pour un couple zone/espèce), enlever un appât et modifier un appât existant.
Du point de vue fonctionnel, modifier un appât, c'est retirer le précédent et en mettre un nouveau. Du coup, je me suis demandé si le noyau devait proposer une fonctionnalité pour modifier, ou bien si une couche supérieur devait décomposer l'opération en deux opérations élémentaires (retrait puis ajout).
Ne gérer que les deux opérations élémentaires simplifie le code du noyau, celui qu'on veut généralement le plus robuste possible. Pour prendre l'exemple de mon système, dans le cas d'un ajout, je veux contrôler que le territoire dispose d'assez de ressources pour déposer l'appât, alors que dans le cas de la modification, je veux contrôler que le territoire a suffisamment de ressources en comptant la réutilisation du précédent appât.
Hier en programmant le système d'appâts le plus simple possible pour Seelies, je me suis posé une question d'ordre plutôt philosophique.
Il y a 3 interactions dans le cadre des appâts : ajouter un appât à un territoire (pour un couple zone/espèce), enlever un appât et modifier un appât existant.
Du point de vue fonctionnel, modifier un appât, c'est retirer le précédent et en mettre un nouveau. Du coup, je me suis demandé si le noyau devait proposer une fonctionnalité pour modifier, ou bien si une couche supérieur devait décomposer l'opération en deux opérations élémentaires (retrait puis ajout).
Ne gérer que les deux opérations élémentaires simplifie le code du noyau, celui qu'on veut généralement le plus robuste possible. Pour prendre l'exemple de mon système, dans le cas d'un ajout, je veux contrôler que le territoire dispose d'assez de ressources pour déposer l'appât, alors que dans le cas de la modification, je veux contrôler que le territoire a suffisamment de ressources en comptant la réutilisation du précédent appât.