195 votes

C# - en quoi consiste la méthode assert() faire ? Est-il encore utile ?

Je suis le débogage avec points d’arrêt et je me rends compte de l’appel d’assert ? Je pensais que c’était seulement pour les tests unitaires. Que fait-il de plus que le point d’arrêt ? Puisque je peux point d’arrêt, pourquoi devrais-je utiliser Assert ?

242voto

Patrick Desjardins Points 51478

Dans une compilation de débogage, `` prend dans une condition booléenne en tant que paramètre et affiche la boîte de dialogue erreur si la condition a la valeur false. Le programme se poursuit sans interruption si la condition est vraie.

Si vous compilez en sortie, déclarer tous est automatiquement exclu.

113voto

jmfsg Points 18246

De Code Complet

8 Programmation Défensive

8.2 Affirmations

Une assertion est un code qui est utilisé au cours du développement-habituellement une routine ou macro-qui permet à un programme de vérification elle-même, car il fonctionne. Lorsqu'un l'assertion est vraie, cela signifie que tout fonctionne comme prévu. Quand c'est faux, ce qui signifie qu'il a détecté une erreur inattendue dans le code. Par exemple, si le système suppose que le client de l'information le fichier n'aurez jamais plus de 50 000 enregistrements, le programme peut contenir une affirmation que le nombre de dossiers est lessthan ou égale à 50 000. Aussi longtemps que le nombre de dossiers est inférieure ou égale à De 50 000, l'affirmation sera silencieux. Si il rencontre plus de 50 000 enregistrements, toutefois, il sera fort "d'affirmer" qu'il n'y est une erreur dans le programme.

Les Assertions sont particulièrement utiles dans les grands programmes compliqués, et de en haut de la fiabilité des programmes. Ils permettent aux programmeurs de plus rapidement rincer incompatibles interface hypothèses, les erreurs qui se glissent dans quand le code est modifié, et ainsi de suite.

Une affirmation prend habituellement deux arguments: une expression booléenne qui décrit l'hypothèse qui est censé être vrai, et un message d' l'affichage s'il ne l'est pas.

(...)

Normalement, vous ne voulez pas que les utilisateurs voient l'affirmation des messages dans le code de production; les assertions sont principalement pour l'usage au cours du développement et de la maintenance. Les affirmations sont compilés dans le code les temps de développement et compilé sur le code de production. Au cours de de développement, les assertions de débusquer les hypothèses contradictoires, en cas de problèmes inattendus, les mauvaises valeurs transmises à des routines, et ainsi de suite. Au cours de la production, ils sont compilés sur le code de sorte que le les assertions de ne pas dégrader les performances du système.

43voto

thelsdj Points 3344

Vous devez l’utiliser pour les moments où vous ne voulez pas avoir de point d’arrêt chaque petite ligne de code pour vérifier les variables, mais vous ne voulez pas obtenir une sorte de rétroaction si certaines situations sont présentes, par exemple :

17voto

Joe Points 60749

Affirmer vous donne également une autre occasion de rire aux compétences en conception d’interface utilisateur de Microsoft. Je veux dire : une boîte de dialogue avec trois boutons abandonner, réessayer, ignorer et une explication de la façon de les interpréter dans la barre de titre !

10voto

Jeff Yates Points 36725

Affirmer vous permet d’affirmer une condition (post ou pré) s’applique dans votre code. C’est un moyen de documenter vos intentions et avoir le débogueur vous informer avec une boîte de dialogue, si votre intention n’est pas remplie.

Contrairement à un point d’arrêt, l’assertion va de pair avec votre code et peut être utilisée pour ajouter des précisions quant à votre intention.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X