Skip to main content

Command Palette

Search for a command to run...

Code Smell 09 - Dead Code

Published
1 min read
Code Smell 09 - Dead Code

Code that is no longer used or needed.

TL;DR: Do not keep code "just in case I need it".

Problems

  • Maintainability

Solutions

  • Remove the code
  • KISS

Examples

  • Gold plating code or Yagni code.

Exceptions

  • Avoid metaprogramming. When used, it is very difficult to find references to the code.

Sample Code

Wrong

class Robot {   
  walk(){
    //...
    }
  serialize(){
    //..  
  }
  persistOnDatabase(database){
    //..  
  }
}
class Robot {   
  walk(){
    //...
    }  
}

Detection

Coverage tools can find dead code (uncovered) if you have a great suite of tests.

Tags

  • Unnecessary

Conclusion

Remove dead code for simplicity. If you are uncertain of your code, you can temporarily disable it using Feature Toggle. Removing code is always more rewarding than adding.

More info

Credits

Photo by Ray Shrewsberry on Pixabay


This article is part of the CodeSmell Series.

Last update: 2021/06/11

Code Smells

Part 1 of 50

In this series, we will see several symptoms and situations that make us doubt the quality of our developments. We will present possible solutions. Most are just clues. They are no hard rules.