Y at-il un terme pour le code non implémenté qui a été écrit pour quelqu'un d'autre à remplir?

91

Parfois, dans un exercice de programmation, génération de passe-partout, mise en place de guides pour les tâches qu'un programmeur subalterne doit mettre en œuvre, etc., il arrive que le programmeur se voit présenter du code non implémenté et qu'il soit invité à "remplir le vide". Par exemple, un test unitaire qui peut compiler, mais échoue, ou une déclaration de classe avec des méthodes vides.

Y a-t-il un terme commun pour cette pratique?

Brandon Arnold
la source
Pas exactement ce que vous demandez, mais lié. S'il existe également des scripts de test indiquant ce que votre code est censé faire, il est alors appelé développement piloté par les tests.
AJFaraday
32
À quiconque a voté pour la fermeture: bien sûr, "nommer cette chose" pourrait ne pas être une question particulièrement intéressante . Cependant, cette question a une réponse objective qui n'est pas principalement basée sur l'opinion. Pour preuve, je présente ma réponse ci-dessous.
3
Je dirais "pratique de codage Terrible."
Euphoric
3
"Exercice pour le lecteur" semble être l'approche classique si vous parlez de gestion des erreurs.
Phil Lello

Réponses:

177

Vous faites référence à un bout ou un squelette :

Talon

Il s'agit généralement d'une méthode ou d'une fonction avec un corps presque vide qui renvoie simplement une valeur factice afin que le code soit compilé.

Squelette

Cette méthode utilise un algorithme de haut niveau, mais les composants individuels ne sont pas implémentés. Il peut s’agir de blocs de code vides ou de méthodes de stub de référence (voir ci-dessus) permettant d’exécuter des sous-tâches. C’est un bon moyen d’exprimer une conception logicielle pour un programmeur débutant qui peut avoir du mal à s’impliquer, ou pour s’assurer que l’algorithme est correct avant d’investir trop de temps dans les détails de bas niveau.


La pratique consistant à utiliser ces éléments de code s’appellerait le stubbing ou la création d’un squelette de code .


la source
3
Bien que j'aime mieux vos termes, je pense que le terme «échafaudage» dans Ruby on Rails est le même concept.
Départ
Je pensais aussi que stub était le mot qui convient, mais je n’étais pas sûr car je me sentais repoussé par d’autres au travail. Je vous remercie.
Brandon Arnold
C'est un "bout" si cela est fait dans un contexte académique. Fait dans un contexte professionnel / commercial, il s'agit d'une "dette technique".
aroth
10
@aroth ce n'est pas une dette technique si le code ne fonctionne pas - il doit être mis en œuvre. La dette technique implique un code mal écrit qui finit par être utilisé dans un environnement de production, ce qui signifie que des efforts importants sont nécessaires pour refactoriser correctement. Un module de remplacement aurait idéalement un test élémentaire défaillant. Il doit donc être implémenté et testé avant d'être mis en production.
2
@BrandonArnold: Lorsque vous parlez à vos collèges, vous devez utiliser des mots qu'ils comprennent. A moins que tu ne sois le patron.
Stig Hemmer
42

J'ai vu le terme " stub " utilisé.

Par exemple, je crois qu'Eclipse insère automatiquement un commentaire

String getName() {
    // TODO: Auto-generated method stub
    return null;
}

dans ses fameux trucs auto-générés.

Notez également l'utilisation du terme «stub» dans le contexte des tests unitaires .

5gon12eder
la source
2
"// TODO: stub de méthode généré automatiquement" Je pense.
user253751
Certainement utile de savoir cela. . .
Brandon Arnold
17

Dans Visual Studio, lorsque vous écrivez du code, intellisense vous donnera l'option "générer un nouveau stub de méthode". Lorsque vous choisissez cette option, Visual Studio génère un stub / squelette de code exactement comme vous l'avez décrit.

Microsoft se réfère à cela comme un stub, donc j'appellerais aussi ces stubs.

Fouiner
la source