Le code JavaScript est propre - paramètres de fonction et effets secondaires

Texte intégral 2375 Mots, durée estimée de l'étude 7 Procès-verbaux

Source: Pexels

Les fonctions sont une partie importante des programmes JavaScript et sont utilisées pour diviser le code en blocs réutilisables. Par conséquent, afin d'avoir un code JavaScript propre, nous devons avoir des fonctions faciles à comprendre.

Cet article présentera plus d'attributs des fonctions premium, y compris les paramètres d'indicateur, les fonctions binaires et ternaires et les effets secondaires.

La

Paramètres de drapeau

Les paramètres booléens doivent être utilisés avec prudence. Cela rend la signature de fonction plus compliquée et nous indique que la fonction fait plus d'une chose (avec plusieurs chemins).

Fonction binaire

Les fonctions binaires sont plus difficiles à comprendre que les fonctions qui prennent moins de paramètres. Mais parfois, il est logique d'utiliser des fonctions binaires. Par exemple, s'il existe un objet contenant des coordonnées cartésiennes, il doit avoir 2 paramètres.

Par exemple, vous pouvez créer une classe avec un constructeur qui prend 2 paramètres, comme indiqué ci-dessous:

classe Point { constructeur (x, y) { this.x = x; this.y = y; } } const point = nouveau Point (1, 2);

Il est presque impossible de le définir autrement

Cependant, nous devons réaliser que les fonctions binaires nécessitent plus de temps et d'efforts que les fonctions qui utilisent moins de paramètres.

Fonction ternaire

Une fonction à 3 paramètres prend beaucoup de temps et d'efforts pour comprendre une fonction à 2 paramètres.

S'il y a 2 paramètres ou moins, il y a plus de combinaisons de paramètres à considérer.

Combiner des paramètres en objets

Si une fonction contient plusieurs paramètres, vous devez envisager de les fusionner en objets.

S'il existe une corrélation entre les paramètres, vous devez le faire davantage. Par exemple, la fonction suivante contient de nombreux paramètres:

const describeFruit = (couleur, nom, taille, prix, numSeeds, type) = >  { retour `$ {fruitName} est $ {fruitColor} .C'est $ {fruitSize}. Il en coûte $ {price}. Il a $ {numSeeds}. Le type if $ {type}`; }

6 paramètres peuvent être trop nombreux, vous pouvez les nettoyer en passant un objet:

const describeFruit = (fruit) = >  { return `$ {fruit.name} is $ {fruit.color}. C'est $ {fruit.size}. Il en coûte $ {fruit.price}. Il a $ {fruit.numSeeds}. Le type if $ {fruit.type } `; }

Comme nous l'avons vu, il est plus soigné, et il n'est pas nécessaire de s'inquiéter de passer un grand nombre de paramètres.

Parce que la fonction est relativement courte, elle est également plus adaptée à l'affichage à l'écran.

Les 5 paramètres peuvent être la valeur maximale qu'une fonction doit contenir.

Source: Pexels

Verbes et mots-clés

C'est une bonne idée d'inclure des verbes et des mots clés dans le nom de la fonction car ils effectuent certaines opérations, ce qui signifie que les verbes dans le nom sont raisonnables.

De plus, nous devons savoir qui effectue l'opération. Cela signifie que certains mots clés doivent être ajoutés pour ce faire.

Par exemple, la définition d'une bonne fonction qui répond à ce point est similaire à:

const copyArray = (tableau) = > ;

Le nom copyArray nous fait savoir que la fonction a copié un tableau.

Il nous permet également de savoir quoi passer à la fonction, qui est évidemment un tableau.

Pas d'effets secondaires

L'effet secondaire est que le code de la fonction modifie le contenu en dehors de la fonction.

C'est mauvais car cela apporte des modifications cachées à des choses en dehors de la fonction.

Nous devons éviter cela autant que possible, car cela entraînera des choses inattendues et cela prendra plus de temps à tester, car en plus d'accepter des paramètres, d'effectuer des opérations et de renvoyer des résultats, il considère également Le contenu extérieur a été modifié.

Cela signifie que nous devons tester ce que la fonction renvoie en plus du résultat.

Par exemple, si vous avez:

laissez numFruits = 1; const addFruit = () = >  { numFruits ++; } const removeFruit = () = >  { numFruits--; }

Ensuite, nous avons 2 fonctions avec des effets secondaires, car elles modifient toutes les deux la variable numFruits en dehors de leurs fonctions respectives.

Une meilleure façon d'écrire ces fonctions est de les écrire en tant que fonctions pures. Les fonctions pures sont des fonctions qui renvoient le même contenu lorsque les mêmes paramètres sont transmis. De plus, il n'a aucun effet secondaire.

Par conséquent, les fonctions pures sont plus faciles à tester et leur comportement est également prévisible.

Réécrivez le code ci-dessus comme suit:

laissez numFruits = 1; const addFruit = (numberOfFruits) = >  numberOfFruits + 1; const removeFruit = (numberOfFruits) = >  numberOfFruits-1; numFruits = addFruit (numFruits); numFruits = removeFruit (numFruits);

Maintenant, il y a 2 fonctions pour recevoir le paramètre numFruits et retourner un nombre respectivement plus grand ou plus petit.

Vous pouvez ensuite les utiliser pour modifier la variable numFruits en dehors de la fonction.

Comme nous l'avons vu, ils ne font rien avec numFruits, mais renvoient à la place le paramètre numberOfFruits par 1 ou moins 1, respectivement.

Si vous écrivez des tests pour eux, vous pouvez facilement les tester en passant une entrée et en vérifiant si la sortie est ce que nous voulons. C'est bien mieux que d'attribuer des effets secondaires à des variables qui peuvent convenir au code de test.

Source: Pexels

Les paramètres du logo doivent être minimisés. Ils nous ont dit que la fonction accomplit non seulement une chose, mais aussi un autre paramètre dans la signature de la fonction.

Les fonctions qui utilisent moins de paramètres sont meilleures que les fonctions qui utilisent plus de paramètres. Si vous avez besoin de nombreux paramètres, envisagez de les fusionner en un seul objet.

Enfin, si les conditions le permettent, les effets secondaires doivent être évités autant que possible. Une fonction avec des effets secondaires effectue des opérations cachées et il est difficile de la tester. Les fonctions pures n'ont pas d'effets secondaires, elles sont donc plus testables et prévisibles.

laissez un commentaire

Partageons ensemble les produits de base de l'apprentissage et du développement de l'IA

Si réimprimé, veuillez laisser un message en arrière-plan et suivre les spécifications de réimpression

Aujourd'hui, le son de base | invention auto-programmation type rural machine beignets frits automatiquement
Précédent
En stage d'été de Google m'a donné envie de rester loin de la vallée ......
Prochain
Quelle est la différence entre un bon programmeur et un bon programmeur exactement?
Aujourd'hui, le son de base | commandes moins nouvelles, des annulations de commandes et plus: Tesla Nordic licenciements massifs
feuilles Tricheur à l'apprentissage de la machine pour résoudre des problèmes difficiles, tout va bien?
En 2020, le programmeur comment faire plus d'argent grâce?
Mettez en uvre les meilleures pratiques JavaScript - faites attention pour éviter d'utiliser d'anciennes structures
L'opérateur virgule en JavaScript, un secret peu connu
250 millions de dollars américains du système de transport privé effectivement ressembler?
Aujourd'hui, le son de base | épidémies causées par la surcharge du réseau, le divertissement Internet de l'Europe à sacrifier
Vous devez savoir Python 5 conseils
Longsheng membres du parti du thé et du comté de bénévoles, aide augmentent les revenus des agriculteurs
« La danse de salon reine » Liu Zhen est mort, Fish Leong Janice publié lamenteront
frère néerlandais « Spider-Man » admet la maladie, mais a refusé de faire des tests nouvelle pneumonie couronne