Uploaded image for project: 'Rules Repository'
  1. Rules Repository
  2. RSPEC-3532

Empty "default" clauses should be removed

    Details

    • Type: Code Smell Detection
    • Status: Active
    • Resolution: Unresolved
    • Message:
      Remove this empty "default" clause.
    • Highlighting:
      Hide

      the whole default clause

      Show
      the whole default clause
    • 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

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                tamas.vajk Tamas Vajk (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: