İf-else deyimi üzerinden geçiş avantajı
Nedir bu en iyi uygulama için kullanarak switch
deyim vs kullanarak bir if
ifadesi için 30 unsigned
numaralandırma 10 olması beklenen bir eylem (ki şu anda aynı eylem). Performans ve boşluk olması gerekiyor ama kritik değil. Parçacık soyutlanmış yaptım adlandırma kuralları için benden nefret etme.
switch
açıklama:
// numError is an error enumeration type, with 0 being the non-error case
// fire_special_event() is a stub method for the shared processing
switch (numError)
{
case ERROR_01 : // intentional fall-through
case ERROR_07 : // intentional fall-through
case ERROR_0A : // intentional fall-through
case ERROR_10 : // intentional fall-through
case ERROR_15 : // intentional fall-through
case ERROR_16 : // intentional fall-through
case ERROR_20 :
{
fire_special_event();
}
break;
default:
{
// error codes that require no additional action
}
break;
}
if
Açıklama:
if ((ERROR_01 == numError) ||
(ERROR_07 == numError) ||
(ERROR_0A == numError) ||
(ERROR_10 == numError) ||
(ERROR_15 == numError) ||
(ERROR_16 == numError) ||
(ERROR_20 == numError))
{
fire_special_event();
}
CEVAP
Anahtarı kullanın.
En kötü durumda derleyici bir şey kaybetmezsin eğer başka bir zincir gibi aynı kodu oluşturur. Şüpheniz varsa çoğu durumda anahtar ilk açıklama yapın.
En iyi durumda iyileştirici kodu oluşturmak için daha iyi bir yol bulabilirsiniz. Bir derleyicinin yaptığı ortak şeyler ikili karar ağacı (kaydeder karşılaştırır ve ortalama durumda atlar) kurmak basit bir sıçrama tablosu (tüm karşılaştırır olmadan çalışır) inşa etmektir.
Kesin olarak yerleştirilmiş üzerinden ...
Arka plan-renk CSS3 geçiş...
Neden Bootstrap 3 kutu boyutlandırma g...
Değişim Kodlama utf-8 Bir komut vim üz...
Facebook API - Nasıl Facebook kullanıc...