Est-ce une bonne pratique d'appeler une méthode qui renvoie des valeurs vraies ou fausses dans une instruction if?
Quelque chose comme ça:
private void VerifyAccount()
{
if (!ValidateCredentials(txtUser.Text, txtPassword.Text))
{
MessageBox.Show("Invalid user name or password");
}
}
private bool ValidateCredentials(string userName, string password)
{
string existingPassword = GetUserPassword(userName);
if (existingPassword == null)
return false;
var hasher = new Hasher { SaltSize = 16 };
bool passwordsMatch = hasher.CompareStringToHash(password, existingPassword);
return passwordsMatch;
}
ou est-il préférable de les stocker dans une variable puis de les comparer en utilisant des valeurs if else comme celle-ci
bool validate = ValidateCredentials(txtUser.Text, txtPassword.Text);
if(validate == false){
//Do something
}
Je ne fais pas seulement référence à .NET, je fais référence à la question dans tous les langages de programmation, il se trouve que j'ai utilisé .NET comme exemple
IsValidCredentials
, bien que grammaticalement maladroit, est un format courant pour indiquer une valeur de retour booléenne.
!
est l'opérateur "NOT", il annule toute expression booléenne. C'est if (!validate)
le contraire de if (validate)
. L'instruction if sera entrée if validate
n'est pas vraie.
if (!validate)
plutôt queif (validate == false)
.