Le retour précoce à partir d'une fonction en ASP classique
Est-il un moyen de revenir plus tôt à partir d'une fonction en ASP classique plutôt que de courir sur toute la longueur de la fonction? Par exemple, disons que j'ai la fonction...
Function MyFunc(str)
if (str = "ReturnNow!") then
Response.Write("What up!")
else
Response.Write("Made it to the end")
end if
End Function
Puis-je l'écrire comme si...
Function MyFunc(str)
if (str = "ReturnNow!") then
Response.Write("What up!")
return
end if
Response.Write("Made it to the end")
End Function
Remarque l'instruction return qui, bien sûr, je ne peux pas faire en ASP classique. Est-il un moyen de briser l'exécution de code où que l'instruction return est assis?
Vous devez vous connecter pour publier un commentaire.
Oui à l'aide de
exit function
.J'ai souvent utiliser ce moment de retourner une valeur à partir d'une fonction.
Avec l'ASP classique, vous devez utiliser
Exit Function
:Comme cela a été souligné vous peut utilisation
Exit Function
mais vous devez être prudent. Dans l'exemple simple vous avez donné, il n'y a vraiment aucun avantage, aucun autre code n'aurait exécutéde toute façon.
De placer des points de sortie de l'ensemble d'un morceau de code, il peut être difficile de suivre et de débogage. Plus sérieusement, il peut conduire les modifications suivantes au code d'être plus difficile, nécessitant des changements plus importants et, par conséquent, augmenter le risque. D'où un tel modèle devrait être considérée comme une "mauvaise odeur".
Un scénario typique où ses raisonnablement acceptable est où le code pourra faire certaines affirmations sur ses paramètres d'entrée, avant de poursuivre avec le corps du code. Autre que cela, vous devriez être en mesure d'exprimer une très, très bonne raison de le faire.
Vous pouvez dire "Si je fais ça, je vais avoir plus
If
structures et d'augmenter l'identation dans le code de trop". Si c'est oui, alors la fonction a trop de code dans il de toute façon et doit être refait en petites fonctions.Exit Function
est un outil utile lorsqu'une raisonnable exception pour la "meilleure pratique" est trouvé.return "What's up"
serait sortie de la fonction, de toute façon... je suis venu ici parce que je voulais retourner false dans une fonction, mais le reste du code est d'exécuter et de perturber le fonctionnement de la structure. Je suis entièrement d'accord que les points de sortie sont mauvais, mais dans cette situation, ils sont normaux code. Retour quitte la fonction et doncExit function
est appelée à juste titre.goto
sur l'autre main...