Pourquoi utilise-t-on KeyEvent.VK_? au lieu d'utiliser simplement le caractère

N'hésitez pas :

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?

Adam:

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.

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=318268&siteId=1
conseillé
Classement