D Language
Les contrats
Recherche…
Remarques
Les assertions seront optimisées dans une version finale.
Contrats de fonction
Les contrats de fonction permettent au programmeur de vérifier les incohérences. Les incohérences incluent des paramètres non valides, vérifient la valeur de retour correcte ou un état non valide de l'objet.
Les vérifications peuvent avoir lieu avant et après l'exécution du corps de la fonction ou de la méthode.
void printNotGreaterThan42(uint number)
in {
assert(number < 42);
}
body {
import std.stdio : writeln;
writeln(number);
}
Les assertions seront optimisées dans une version finale.
Contrats de fonction
Par exemple, si une méthode est appelée, l'état de l'objet peut ne pas permettre qu'une méthode soit appelée avec des paramètres spécifiques ou pas du tout.
class OlderThanEighteen {
uint age;
final void driveCar()
in {
assert(age >= 18); // variable must be in range
}
body {
// step on the gas
}
}
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow