Maison > Java > javaDidacticiel > Les variables doivent-elles toujours être déclarées en dehors des boucles dans la programmation ?

Les variables doivent-elles toujours être déclarées en dehors des boucles dans la programmation ?

Patricia Arquette
Libérer: 2024-12-16 07:51:10
original
565 Les gens l'ont consulté

Should Variables Always Be Declared Outside Loops in Programming?

Déclaration de variables à l'intérieur ou à l'extérieur d'une boucle : est-il essentiel de déclarer des variables à l'extérieur ?

Le comportement couramment observé lors de la déclaration une variable en dehors d'une boucle semble fonctionner soulève des questions sur la nécessité d'une déclaration externe. Pour approfondir ce problème, examinons les deux exemples de code :

Exemple 1 : Déclaration d'une variable en dehors de la boucle

String str;
while (condition) {

str = calculateStr();
...
Copier après la connexion

}

Exemple 2 : Déclaration d'une variable à l'intérieur de la boucle

pendant que (condition) {

String str = calculateStr();
...
Copier après la connexion

}

Le premier exemple, avec sa variable déclarée en dehors de la boucle est connue pour fonctionner sans problème. Cependant, le deuxième exemple, où la variable est définie dans la boucle, a souvent été qualifié de dangereux ou d'incorrect. Cela soulève la question : la déclaration externe des variables est-elle nécessaire ?

Réponse : les variables devraient avoir une portée minimale

La réponse à cette question est une affirmation catégorique selon laquelle les variables doit être déclaré avec la portée la plus petite possible. Pour comprendre pourquoi, considérons le scénario de l'exemple dans lequel str n'est probablement pas utilisé en dehors de la boucle. Si c'était le cas, le déclarer dans la boucle ne serait pas possible en raison d'erreurs de compilation.

Par conséquent, puisque str existe uniquement dans le contexte de la boucle, la plus petite portée possible réside dans cette boucle. Par conséquent, il doit être déclaré en conséquence.

Exception à la règle

La seule exception possible à cette règle serait dans les situations où maximiser les performances est critique, vers le bas au dernier cycle d'horloge. Dans de tels cas, il peut être envisagé d'instancier un objet dans une portée externe et de le réutiliser au lieu de le recréer à chaque itération de boucle.

Cependant, dans l'exemple fourni, cette optimisation n'est pas pertinente en raison de l'immuabilité des chaînes dans Java. Chaque itération de boucle nécessitera la création et la suppression ultérieure d'une nouvelle instance str, éliminant toute optimisation potentielle via une déclaration externe.

En résumé, déclarer des variables dans la portée la plus petite possible est la bonne pratique. Même s’il peut être tentant d’éliminer chaque cycle d’horloge pour optimiser les performances, il est plus judicieux de se concentrer sur la qualité du code et de suivre les directives appropriées. L'analyse comparative peut révéler des domaines d'optimisation algorithmique, éliminant ainsi le besoin de modifications et de piratages approfondis du code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal