Я читал, что переменная никогда не должна делать больше, чем одна вещь. Перегрузка переменной, чтобы сделать больше, чем одно, плохо.
Из-за этого я в конечном итоге пишу код следующим образом: (С переменной customerFound
)
bool customerFound = false;
Customer foundCustomer = null;
if (currentCustomer.IsLoaded)
{
if (customerIDToFind = currentCustomer.ID)
{
foundCustomer = currentCustomer;
customerFound = true;
}
}
else
{
foreach (Customer customer in allCustomers)
{
if (customerIDToFind = customer.ID)
{
foundCustomer = customer;
customerFound = true;
}
}
}
if (customerFound)
{
// Do something
}
Но в глубине души я иногда хочу написать свой код следующим образом: (Без переменной customerFound
)
Customer foundCustomer = null;
if (currentCustomer.IsLoaded)
{
if (customerIDToFind = currentCustomer.ID)
{
foundCustomer = currentCustomer;
}
}
else
{
foreach (Customer customer in allCustomers)
{
if (customerIDToFind = customer.ID)
{
foundCustomer = customer;
}
}
}
if (foundCustomer != null)
{
// Do something
}
Разве это тайное желание делает меня злым программистом?
(т.е. второй случай - действительно плохая практика кодирования?)