2015-11-18 1 views
-2

j'ai un code qui ressemble à ceci:JS si autre contre si et continuer dans une boucle

for(...){ 
    if(something){ 
     ...; 
     continue; 
    } 
    for(...){ 
     ...; 
    } 
} 

Maintenant, je me demandais si ce serait une meilleure solution pour remplacer le continue avec un bloc else qui contient la deuxième boucle.

Merci pour votre avis

+6

Définissez ce que «mieux» signifie pour vous. L'interpréteur JS s'en fout et fonctionnerait de la même façon. – zerkms

+4

Entièrement basé sur l'opinion. Certaines personnes n'aiment pas «continuer», «casser», etc. Je n'aime pas la nidification profonde et les longues portées. – Thilo

Répondre

1

Mettre dans un autre bloc rendrait le code fonctionnellement équivalent, oui. Quant à savoir si c'est mieux? Comme d'autres l'ont dit, l'interprète JS ne s'en souciera pas - il s'en sortira de la même façon. La seule chose importante est la lisibilité humaine. Si la boucle interne est longue et compliquée et contient beaucoup d'autres choses, alors utiliser continuer peut être une meilleure option, car il indique clairement au lecteur que ce n'est pas grave dans le boucle, ça ira à l'itération suivante. l'utilisation d'un if/else signifie que l'utilisateur doit confirmer qu'il n'y a pas de code plus bas qui sera exécuté après le if/else. Dans une autre situation, utiliser if/else pourrait être mieux car l'utilisation de continue pourrait se terminer par une duplication de code, ou une maintenance ultérieure pourrait ajouter quelques lignes à la fin de la boucle, pensant que chaque itération passera à travers il (toujours rendre votre code aussi idiot que possible si quelqu'un d'autre peut le modifier plus tard!). En fin de compte, il s'agit de normes d'opinion et de codage (si cela fait partie d'un projet plus important, il devrait correspondre autant que possible à ce qui se trouve ailleurs). Faites tout ce qui rend le code le plus compréhensible pour vous. Demandez à quelqu'un d'autre d'examiner le produit final si vous le pouvez, de voir s'il a une opinion différente - il est toujours plus facile de lire votre propre code, d'avoir quelqu'un d'autre peut le mettre en évidence des choses qui ne sont pas aussi claires comme vous le pensez!

0

Comment zerkms remarqués, interprète js va exécuter ce code de façon similaire.

À mon avis, le code avec if..else instruction devient plus lisible, et aussi continue instruction pourrait être utilisé, quand il n'y a rien à faire à cette étape de la boucle.