rspec/rules/S3532/csharp/rule.adoc
2021-04-28 18:08:03 +02:00

69 lines
929 B
Plaintext

The ``++default++`` clause should take appropriate action. Having an empty ``++default++`` is a waste of keystrokes.
== Noncompliant Code Example
----
enum Fruit
{
Apple,
Orange,
Banana
}
void PrintName(Fruit fruit)
{
switch(fruit)
{
case Fruit.Apple:
Console.WriteLine("apple");
break;
default: //Noncompliant
break;
}
}
----
== Compliant Solution
----
enum Fruit
{
Apple,
Orange,
Banana
}
void PrintName(Fruit fruit)
{
switch(fruit)
{
case Fruit.Apple:
Console.WriteLine("apple");
break;
default:
throw new NotSupportedException();
}
}
----
or
----
void PrintName(Fruit fruit)
{
switch(fruit)
{
case Fruit.Apple:
Console.WriteLine("apple");
break;
}
}
----
== Exceptions
``++default++`` clauses containing only a comment are ignored with the assumption that they are empty on purpose and the comment documents why.