$('#dgInput').on('keypress', function(e) { if (e.keyCode == 13) { // here is a huge code block } To improve readability I need to place the code outside of if statement. I tried - $('#dgInput').on('keypress', function(e.keyCode = 13) { - doesn't work Also - if (e.keyCode == 13) {continue;} - doesn't work. Is there a way?
3 Réponses :
Vous pouvez déclarer une fonction et l'utiliser à l'intérieur.
function handleOnEnterPress(e){ if (e.keyCode == 13) { // here is a huge code block } } $('#dgInput').on('keypress', function(e) { handleOnEnterPress(e); }
OU
function doSomeMagic(){ // Do some magic here } $('#dgInput').on('keypress', function(e) { if (e.keyCode == 13) { // here is a huge code block doSomeMagic(); } }
création d'une nouvelle fonction pour améliorer la lisibilité - disons - une solution de périphérie
Oui si vous voulez plus de readibity == >> fonction de nom comme onEnterPress
et passez e
comme parms et faites e.keyCode == 13
vous enregistrer fonctionner lui-même
Si vous voulez quitter une fonction, utilisez return
, pas continue
.
if (e.keyCode == 13) { do_the_thing(e); } // Do more things
Si vous voulez simplement déplacer un grand bloc de code (c'est-à-dire si vous voulez faire des choses après la condition if
), placez-le dans une fonction et appelez cette fonction à partir de votre condition.
if (e.keyCode != 13) { return; } // Large block of code now goes here
Vous pouvez refactoriser le bloc de code existant en une fonction:
if (e.keyCode == 13) { // Do some initial work here let result = doStuff(param1, param2); doStuff2(result); doStuff3(); // Do something with the result here }
La fonction doStuff
peut être appelée à partir du code d'origine:
$('#dgInput').on('keypress', function(e) { if (e.keyCode == 13) { // Do some initial work here let result = doStuff(param1, param2); // May be, do something with the result here } }
Si la fonction doStuff
est vraiment volumineuse, elle peut être davantage refactorisée en plusieurs fonctions gérables - doStuff
appelle doThis code >, etc. En général, une fonction avec 5 à 10 lignes de code, de préférence avec des fonctionnalités associées (par exemple, une fonction de calcul de la taxe accepte certains paramètres comme le montant, le taux, la remise et renvoie ensuite la valeur de la taxe), la rend lisible et donc maintenable.
Il y a pas mal d'informations sur la refactorisation du code. Il s'applique à toutes les langues, en général. Un peu de recherche sur le net peut également vous aider avec des idées que vous pourriez trouver utiles.
EDIT:
Notez qu'il n'y a pas de règle selon laquelle il devrait y avoir une fonction (comme, doStuff) dans le bloc if
. On peut appeler plusieurs fonctions, comme celle-ci dans le bloc (et parfois ces fonctions peuvent être réutilisables).
function doStuff(param1, param2){ // Work with the paramters here // Do some other things // May be, return a value }
Pouvez-vous fournir plus d'informations?
Si vous souhaitez améliorer la lisibilité, vous pouvez diviser votre code en sections ou simplement vous assurer que votre indentation est conforme aux normes?
quelle est la fonction? Est-il réutilisable (peut simplement créer une fonction et l'appeler dans le conditionnel e.keyCode)