rspec/rules/S3532/csharp/rule.adoc
2022-02-04 16:28:24 +00:00

89 lines
1.2 KiB
Plaintext

The ``++default++`` clause should take appropriate action. Having an empty ``++default++`` is a waste of keystrokes.
== Noncompliant Code Example
[source,csharp]
----
enum Fruit
{
Apple,
Orange,
Banana
}
void PrintName(Fruit fruit)
{
switch(fruit)
{
case Fruit.Apple:
Console.WriteLine("apple");
break;
default: //Noncompliant
break;
}
}
----
== Compliant Solution
[source,csharp]
----
enum Fruit
{
Apple,
Orange,
Banana
}
void PrintName(Fruit fruit)
{
switch(fruit)
{
case Fruit.Apple:
Console.WriteLine("apple");
break;
default:
throw new NotSupportedException();
}
}
----
or
[source,csharp]
----
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.
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
include::message.adoc[]
include::highlighting.adoc[]
'''
== Comments And Links
(visible only on this page)
include::comments-and-links.adoc[]
endif::env-github,rspecator-view[]