-
Type:
Code Smell Detection
-
Status: Active
-
Resolution: Unresolved
-
Message:Remove this empty "default" clause.
-
Highlighting:
-
Default Severity:Minor
-
Impact:Low
-
Likelihood:Low
-
Covered Languages:C#
-
Remediation Function:Constant/Issue
-
Constant Cost:1min
-
Analysis Scope:Main Sources, Test Sources
-
ReSharper:RedundantEmptyDefaultSwitchBranch
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.