Jika saya menggunakan pernyataan switch untuk menangani nilai dari enum (yang dimiliki oleh kelas saya) dan saya memiliki case untuk setiap nilai yang mungkin - apakah ada baiknya menambahkan kode untuk menangani case "default"?
enum MyEnum
{
MyFoo,
MyBar,
MyBat
}
MyEnum myEnum = GetMyEnum();
switch (myEnum)
{
case MyFoo:
DoFoo();
break;
case MyBar:
DoBar();
break;
case MyBat:
DoBat();
break;
default:
Log("Unexpected value");
throw new ArgumentException()
}
Saya tidak berpikir itu karena kode ini tidak pernah dapat dicapai (bahkan dengan tes unit). Rekan kerja saya tidak setuju dan menganggap ini melindungi kami dari perilaku tak terduga yang disebabkan oleh nilai-nilai baru yang ditambahkan ke MyEnum.
Bagaimana kabarmu, komunitas?
MyEnum
kemudian melewati sakelar Anda?
switch
pernyataan sepenuhnya.