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