Dans mon programme actuel, j'ai des variables déclarées au début telles que:
private static final double imageSize
Cette variable n'est pas modifiée et utilisée uniquement dans une seule méthode donc mon IDE me dit de faire c'est une variable locale. Quels en sont les avantages? Je change régulièrement la variable lors du test, est-ce que je peux la garder là où elle se trouve?
3 Réponses :
La variable locale n'a qu'un seul avantage: lorsque vous codez cette viarable od disponsable uniquement avec ce code local (par exemple méthode). Lorsque vous avez un gros projet et 100 variables, il est très utile d'avoir des variables locales. Mais dans votre cas: il vaut mieux avoir des variables statiques globales affectées à des choses qui ne changent pas dans le programme. Lorsque vous en aurez besoin, vous pourrez facilement trouver cette variable. par exemple dans 5 ans les moniteurs auront 10 mètres et vous voudrez changer la taille de l'image.
En complément pour répondre à Jacek. Votre variable ressemble à une constante. Selon la convention de code Java pour les variables constantes ( final ) vous devez utiliser des majuscules:
private static final double IMAGE_SIZE
Logiquement, il est normal de le laisser là où il se trouve. De plus, au fur et à mesure que vous modifiez la valeur vous-même, cela la rend plus lisible en la gardant au sommet.
L'EDI suggère de le garder local pour la méthode car il est recommandé de garder la visibilité et la durée de vie d'une variable au minimum possible. En la laissant au niveau de la classe, votre variable vit aussi longtemps que la classe est chargée, même si la méthode qui l'utilise a mis fin à son exécution.
Où est-il initialisé? Pouvez-vous le rendre
final
?C'est définitif, désolé j'ai oublié d'ajouter cela. Il est actuellement initialisé lorsque vous créez la classe, en dehors de la méthode principale de la classe.