Tak, potencjalnie. Rozważmy następujący (C#, Java, cokolwiek):
int x = GetValueFromSomewhere();
if (x == 0)
{
// Something
x = 1;
}
else if (x == 1)
{
// Something else...
}
vs to:
int x = GetValueFromSomewhere();
if (x == 0)
{
// Something
x = 1;
}
if (x == 1)
{
// Something else...
}
W pierwszym przypadku, tylko jeden o "coś" lub "coś innego ..." wystąpią . W drugim przypadku efekty uboczne pierwszego bloku sprawiają, że warunek w drugim bloku jest prawdziwy.
Następnie do innego przykładu, warunki nie mogą być wzajemnie wykluczające się zacząć:
int x = ...;
if (x < 10)
{
...
}
else if (x < 100)
{
...
}
else if (x < 1000)
{
...
}
Jeśli pozbyć się „inny” tutaj, a następnie jak najszybciej jeden warunek został dopasowany, reszta będzie także.
Oczywiście zależy to od układu i interakcji. –