J'entends souvent le terme «talon», «bout de quelque chose», «talons», etc.
Que signifie le stubbing dans la programmation et d'où vient le mot? Dans quels contextes peut-il être utilisé?
J'entends souvent le terme «talon», «bout de quelque chose», «talons», etc.
Que signifie le stubbing dans la programmation et d'où vient le mot? Dans quels contextes peut-il être utilisé?
Réponses:
Une méthode stub est une méthode qui renvoie simplement un résultat simple mais valide (mais pas nécessairement correct).
Ils sont généralement créés lors de la construction de l'infrastructure et vous ne voulez pas passer du temps sur toutes les méthodes nécessaires pour le moment. Au lieu de cela, vous créez des talons pour que tout se compile et que la saisie semi-automatique de votre IDE connaisse les méthodes que vous prévoyez d'utiliser.
Un autre endroit où les stubs sont utilisés est la moquerie lors des tests.Vous fournissez des méthodes de stub au lieu de la dépendance normale via l'injection de dépendance qui retourne des résultats fixes, puis assurez-vous que le code fait la bonne chose avec eux. Cela isole les tests du code que vous essayez de tester et signifie que vous n'avez pas besoin de faire tourner une base de données juste pour exécuter ces tests.
la source
Il vaut peut-être mieux y répondre par un exemple concret. Prenons le cas où vous créez une application de bureau. Vous avez décidé de nommer une fonction
createMenubar
,createToolbar
etcreateMain
pour que le constructeur de votre application soit net et bien rangé.Votre code principal ressemblera à ceci (cet exemple est en python):
Tant que tout ne fonctionnera pas, votre fonction principale échouera, alors comment pouvez-vous tester votre application pendant le développement? Par exemple, si vous commencez à travailler sur
createMenubar
, l'initialisation échouera après avoir créé la barre de menu car vous n'avez pas implémenté la barre d'outils ou la zone principale de l'interface graphique.C'est là que les stubs entrent en jeu. Vous pouvez créer une fonction nommée
createToolbar
etcreateMain
qui satisfait aux exigences du constructeur de l'application (à savoir, que ces fonctions existent), sans avoir à les implémenter réellement. Ces fonctions sont des talons:Avec ces stubs en place, vous pouvez commencer à implémenter le programme principal et la barre de menus, sans avoir à vous soucier des détails de la barre d'outils ou de la partie principale du programme. Finalement, vous passerez à la barre d'outils et remplacerez le talon par la fonction réelle. Et enfin, vous allez supprimer le talon de
createMain
et lui donner une véritable implémentation.Notez que les talons n'ont pas nécessairement à ne rien faire. Ces stub peuvent, par exemple, créer un widget conteneur vide que le constructeur de l'application peut disposer. Le fait est que vous créez des fonctions ou des objets factices qui font juste assez pour laisser votre autre code s'exécuter pendant que vous le développez. Au fil du temps, vous remplacez les talons un par un jusqu'à ce que votre demande soit terminée.
la source
Un "stub" est utilisé dans la programmation "top down". C'est à ce moment que vous construisez votre application du général au particulier. Ce faisant, vous utiliserez des "stubs" comme "espaces réservés" pour les applications spécifiques que vous n'avez pas eu le temps de créer. Ils retournent souvent des éléments comme des valeurs fictives ou aléatoires à la partie plus générale du programme. C'est très bien, le talon nourrit suffisamment d'une valeur pour faire fonctionner la partie la plus «senior» du programme. Jusqu'à ce qu'il soit temps que le talon soit remplacé ou équipé de son véritable calcul ou valeur.
la source