Switch ifadeleri her zaman varsayılan bir madde içermelidir?
İlk kod yorumları (bir süre önce), iyi uygulama tüm geçiş deyimleri varsayılan bir madde içerir olduğunu söylediler. Geçenlerde bu tavsiyeyi hatırladı ama gerekçesi neydi hatırlayamıyorum. Bana oldukça garip geliyor şimdi.
Her zaman varsayılan bir açıklama dahil olmak üzere, mantıklı bir nedeni var mı?
Bu dile bağlı? Zaman kullandığımı hatırlamıyorum - belki bu diğerleri için bazı diller için geçerlidir?
CEVAP
Gerektiği durumlarda geçinneredeyseher zaman default
bir dava var.
default
kullanma nedenleri
1.'Beklenmeyen bir değer
switch(type)
{
case 1:
//something
case 2:
//something else
default:
// unknown type! based on the language,
// there should probably be some error-handling
// here, maybe an exception
}
2. İdare 'varsayılan durumlarda özel bir davranış olduğu.' eylemleri,
Bu menü tabanlı programlar ve bash kabuk betikleri bir SÜRÜ görürsünüz. Ayrıca bir değişken durum anahtarı ama başlatılmamış dışında bildirirken bu görebilirsiniz, ve her durumda farklı bir şey için yeniden başlatır. Burada varsayılan aşağı değişkeni erişen satır kod bir hata yükseltmek değil de başlatmak gerekiyor.
3. Birini göstermek için bu davayı halletmişsiniz kodunuzu okuma.
variable = (variable == "value") ? 1 : 2;
switch(variable)
{
case 1:
// something
case 2:
// something else
default:
// will NOT execute because of the line preceding the switch.
}
Bu aşırı basitleştirilmiş bir örnek oldu, ama önemli biri kod okuma variable
1 veya 2 dışında olamaz neden merak gerekmez mi.
default
kullanmak için aklıma gelen tek durumanahtarı onun oldukça açık bir denetleme olduğu zaman diğer seçeneklerden çok mutlu bir şekilde yok sayılabilir
switch(keystroke)
{
case 'w':
// move up
case 'a':
// move left
case 's':
// move down
case 'd':
// move right
// no default really required here
}
Ne zaman bir varsayılan kurucu yerine ...
Bir zaman damgası için SQL Server date...
Nasıl " tutun;Çekmece" varsay...
sqlite veritabanı varsayılan zaman değ...
Varsayılan oturum ASP.NET zaman aşımı ...