Dans le livre Javascript: The Good Parts par Douglas Crockford, tout cela est l'auteur dit au sujet de la déclaration continue:Pourquoi les instructions "continuer" sont-elles mauvaises dans JavaScript?
sauts
continue
déclaration au sommet de la boucle. Je n'ai jamais vu un morceau de code qui n'a pas été amélioré en le refactorisant pour supprimer l'instructioncontinue
.
Cela me rend vraiment confus. Je sais que Crockford a des opinions très pointues sur JavaScript, mais cela me semble complètement faux. Tout d'abord, continue
fait plus que simplement sauter au sommet d'une boucle. Par défaut, il progresse également jusqu'à l'itération suivante. Donc, la déclaration de Crockford n'est-elle pas une information complètement fausse? Plus important encore, je ne comprends pas tout à fait pourquoi continue
serait même considéré comme mauvais. Ce poste offre ce qui semble être l'hypothèse générale: Why is continue inside a loop a bad idea?
Bien que je comprenne comment continue
peut rendre le code difficile à lire dans certains cas, je pense qu'il est tout aussi probable que cela peut rendre le code plus lisible. Par exemple:
var someArray=['blah',5,'stuff',7];
for(var i=0;i<someArray.length;i++){
if(typeof someArray[i]==='number'){
for(var j=0;j<someArray[i];j++){
console.log(j);
}
}
}
Cela pourrait être remaniée:
var someArray=['blah',5,'stuff',7];
for(var i=0;i<someArray.length;i++){
if(typeof someArray[i]!=='number'){
continue;
}
for(var j=0;j<someArray[i];j++){
console.log(j);
}
}
continue
est pas particulièrement bénéfique dans cet exemple spécifique, mais cela démontre le fait qu'il réduit la profondeur d'imbrication. Dans un code plus complexe, cela pourrait potentiellement augmenter la lisibilité. Crockford ne donne aucune explication sur les raisons pour lesquelles continue
ne devrait pas être utilisé, alors y a-t-il une signification plus profonde derrière cette opinion qui me manque?
Le mot-clé 'continuer' est un outil - utilisez-le le cas échéant. Parfois, c'est nécessaire, la plupart du temps ce n'est pas le cas. La seule fois où c'est mauvais, c'est quand vous n'avez pas besoin de l'utiliser mais que vous êtes trop paresseux ou bâclé pour le faire d'une autre manière. – slugster
J'ai eu le même sentiment et c'est pourquoi j'ai fait mon [post] (http://stackoverflow.com/questions/30030033/continue-statement-confusion). Ce qui m'a aidé est de penser au mot «hop» lorsque vous utilisez des instructions continues. Je pense que M. Crawford a utilisé un mauvais mot de choix ici lors de la conception du langage: P D'autant plus que le houblon peut appliquer la logique «continuer» derrière lui. Si vous sautez sur quelque chose, vous continuez habituellement. Pensez aux coureurs de piste de marathon comme une bonne analogie. –
"M. Crawford" n'a pas conçu la langue. – rlemon