25-03-2011, 12:49 AM
(Modification du message : 26-03-2011, 12:30 PM par Sephi-Chan.)
Coucou
j'ai une hésitation sur la solution à mettre en place pour des retours de fonction (de méthode à vrai dire)
je suis dans un système de calcul d'action, pour ce faire je vérifie d'abord que toutes les conditions sont réunies pour réaliser l'action, on supposera - en simplifiant - que les conditions correspondent à des objets de classes différentes (une classe pour les compétences, une classe pour les outils, etc...)
Toutes ces classes définissent une méthode qui retournait jusqu'à présent deux informations, un bonus malus pour connaitre la difficulté de l'action, et un niveau de consommation (si jamais l'action se fait j'utilise l'information, mais il faut d'abord que je vérifie toutes les conditions, je ne peux pas consommer tout de suite lors du traitement de la condition)
jusque là ca allait, deux infos, j'utilisais un pauvre tableau du type array ( 0 => $malus, 1 => $conso)
mais voilà, je m'aperçois que pour certaines conditions que je suis en train de coder, j'ai besoin d'une troisième info, et qui sait d'une 4ème, etc...
du coup pas très lisible $retour[0], $retour[1], $retour[2], ...
donc voilà, pour vous quelle est la meilleure solution ? je vois :
le define pour exploiter le tableau
$retour[ PENALITE ]
le tableau associatif
$retour[ "PENALITE" ]
la structure
$retour->penalite
En première intention, je pencherais pour le tableau associatif, mais y a peut être plus propre
celui que j'aime le moins est la structure : d'une part c'est plus de code lors de la construction de la variable (pas juste un simple return array( ....) ), d'autres part ça me gène d'utiliser des objets pour quelque chose qui n'en est pas vraiment un (pas de méthode, ni rien..)
qu'en pensez vous ?
j'ai une hésitation sur la solution à mettre en place pour des retours de fonction (de méthode à vrai dire)
je suis dans un système de calcul d'action, pour ce faire je vérifie d'abord que toutes les conditions sont réunies pour réaliser l'action, on supposera - en simplifiant - que les conditions correspondent à des objets de classes différentes (une classe pour les compétences, une classe pour les outils, etc...)
Toutes ces classes définissent une méthode qui retournait jusqu'à présent deux informations, un bonus malus pour connaitre la difficulté de l'action, et un niveau de consommation (si jamais l'action se fait j'utilise l'information, mais il faut d'abord que je vérifie toutes les conditions, je ne peux pas consommer tout de suite lors du traitement de la condition)
jusque là ca allait, deux infos, j'utilisais un pauvre tableau du type array ( 0 => $malus, 1 => $conso)
mais voilà, je m'aperçois que pour certaines conditions que je suis en train de coder, j'ai besoin d'une troisième info, et qui sait d'une 4ème, etc...
du coup pas très lisible $retour[0], $retour[1], $retour[2], ...
donc voilà, pour vous quelle est la meilleure solution ? je vois :
le define pour exploiter le tableau
$retour[ PENALITE ]
le tableau associatif
$retour[ "PENALITE" ]
la structure
$retour->penalite
En première intention, je pencherais pour le tableau associatif, mais y a peut être plus propre
celui que j'aime le moins est la structure : d'une part c'est plus de code lors de la construction de la variable (pas juste un simple return array( ....) ), d'autres part ça me gène d'utiliser des objets pour quelque chose qui n'en est pas vraiment un (pas de méthode, ni rien..)
qu'en pensez vous ?