Apakah praktik yang baik untuk memanggil metode yang mengembalikan nilai benar atau salah dalam pernyataan if?
Sesuatu seperti ini:
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;
}
atau apakah lebih baik menyimpannya dalam suatu variabel kemudian membandingkannya menggunakan jika ada nilai-nilai seperti ini
bool validate = ValidateCredentials(txtUser.Text, txtPassword.Text);
if(validate == false){
//Do something
}
Saya tidak hanya merujuk pada .NET, saya merujuk pada pertanyaan dalam semua bahasa pemrograman, kebetulan saya menggunakan .NET sebagai contoh.
IsValidCredentials, meskipun secara tata bahasa canggung, adalah format umum untuk menunjukkan nilai pengembalian boolean.
!adalah operator "BUKAN", itu meniadakan ekspresi boolean. Begitu if (!validate)juga sebaliknya if (validate). Pernyataan if akan dimasukkan jika validatetidak benar.
if (!validate)bukanif (validate == false).