2010-04-29 4 views
0

Je place généralement mes clés sur un XML et j'y accède avec R.string.key_name mais quelqu'un me fait remarquer que je pourrais avoir des chaînes en ligne dans le code.Les clés doivent-elles être placées sur un XML pour être accessibles avec R.string.key?

Je pense que je pourrais utiliser cette clé à différents endroits et si je change son nom, je le renommerais simplement dans le fichier XML, mais peut-être que cela n'a pas beaucoup de sens avec les touches.

Qu'en pensez-vous?

Répondre

1

Votre question deux questions différentes confond:

  1. Est-il logique d'avoir une définition unique de votre clé?
  2. Est-il logique que cette définition unique soit dans un fichier XML?

La réponse au point 1 est clairement "oui". La duplication de chaînes utilisées comme clés (qui doivent être identiques partout pour que votre code fonctionne correctement) est une recette pour la douleur et le chagrin d'amour.

Mais quel avantage apporte la clé dans un fichier XML? Vous ajoutez simplement du "bruit" à votre code, et assurez-vous que celui qui le lit doit trouver, comprendre et regarder au moins un fichier supplémentaire.

public static final est la voie à suivre.

0

Les chaînes littérales en ligne seront une énorme douleur à changer si elles sont dispersées dans le code. Les localiser à un endroit avec soit le fichier strings.xml, soit une variable statique finale publique, va probablement vous éviter un mal de tête plus tard.

Questions connexes