Supposons que nous voulons définir un mnémonique pour un élément de menu, et nous voulons qu'il soit 'c'
. Je remarque dans presque tous les codes qu'ils écrivent comme:
menuitem.setMnemonic(KeyEvent.VK_C);
Je sais que nous pouvons l'écrire comme ceci:
menuitem.setMnemonic('c');
Cependant, la première variante semble être plus commune. Pourquoi donc? Pourquoi ne pas simplement utiliser des caractères simples au lieu de quelque chose comme KeyEvent.VK_C
? Quel avantage ont le premier code sur le second?
Dans le second exemple, le caractère « c » est un caractère « magique ». Il se trouve être la valeur en ce moment, mais il ne peut pas à l'avenir. Si elle ne change jamais, quelqu'un devrait aller trouver tous les endroits où « c » a été dactylographié et le fixer. Si une expression constante est utilisée, comme dans le premier exemple, seuls besoins individuels place au changement.
Vous pourriez penser « mais bien sûr, il ne changera pas, il sera toujours juste« c ». Il y a certainement des moments où les constantes peuvent être trop puissantes. Par exemple, si la valeur magique est utilisée qu'une seule fois, ou est une valeur qui 100% ne changera jamais. Mais considérez si elle se transforme en « c \-caractère spécial » ou quelque chose. Il est juste plus sûr et une meilleure pratique, d'utiliser des constantes en place des chaînes magiques ou des caractères.