Question

Est-il correct d'utiliser une constante privée dans la situation suivante:

Disons que j’ai un jeu avec une variable de vies et une variable de démarrage. Au début du jeu, la variable vies a la même valeur que la variable startLives. Voici comment je le ferais normalement:

private var lives:int = 0;
private var startingLives:int = 3;

private function startGame():void
{
   lives = startingLives;
}

(le code exemple est ActionScript btw)

Ma question est la suivante: cela devrait-il vraiment être:

private var lives:int = 0;
private const STARTING_LIVES:int = 3;

private function startGame():void
{
  lives = STARTING_LIVES;
}

StartingLives ne semble pas devoir changer au moment de l'exécution. Devrais-je donc utiliser un const et revenir à une variable si elle s'avère ne pas être constante?

UPDATE: Le consensus semble être que c'est une bonne utilisation d'une constante, mais qu'en est-il de la suggestion d'amdfan de vouloir charger la valeur à partir d'un fichier de configuration?

Était-ce utile?

La solution

Mettez-le dans une constante nommée DEFAULT_STARTING_LIVES , mais possédez également une variable appelée startingLives. Pour l'instant, définissez startingLives = DEFAULT_STARTING_LIVES . Plus tard, vous pourrez définir startLives en fonction d'une valeur d'un fichier de configuration. Si le fichier n'a pas été créé ou est introuvable, vous avez une sauvegarde.

(merci à Plinth pour l’extension de ma réponse originale.)

Autres conseils

Ouais, c’est un bon usage d’un const. En règle générale, toute "variable" dont la valeur ne changera pas au moment de l’exécution devrait devenir une constante. Cela permet au compilateur d'optimiser ces valeurs en les plaçant dans une zone de mémoire distincte (ROM). (REMARQUE: cela ne garantit pas que votre compilateur va optimiser, cela rend simplement possible .)

Je pense qu'une constante privée est appropriée si elle n'a aucune utilité en dehors de ce contexte et créerait un fouillis si elle était rendue publique.

Certes, l’utilisation d’une constante dans votre cas est préférable à un nombre magique, surtout si vous devez l’utiliser à plusieurs endroits.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top