Skip to main content

Command Palette

Search for a command to run...

Code Smell 151 - Commented Code

Beginners are afraid to remove code. And many seniors too.

Published
2 min read
Code Smell 151 - Commented Code

TL;DR: Don't leave commented code. Remove it.

Problems

  • Readability

  • Dead Code

  • Lack of Coverage

  • Lack of Source Version Control

Solutions

  1. Remove commented code

  2. Implement Source Version Control

Context

When debugging code we tend to comment on code to see what happens.

As a final step, after all our tests pass, we must remove them following clean code practices.

Sample Code

Wrong

function arabicToRoman(num) {
  var decimal = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];
  var roman = ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I'];
  var result = '';

  for(var i = 0; i < decimal.length; i++) {
    // print(i)
    while(num >= decimal[i]) {
      result += roman[i];
      num -= decimal[i];
    }    
  }
  // if (result > 0 return ' ' += result)

 return result;
}

Right

function arabicToRoman(arabicNumber) {
  var decimal = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];
  var roman = ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I'];
  var romanString = '';

  for(var i = 0; i < decimal.length; i++) {
    while(arabicNumber >= decimal[i]) {
      romanString += roman[i];
      num -= decimal[i];
    }    
  }

 return romanString;
}

Detection

[X] Semi-Automatic

Some machine learning analyzers can detect or parse comments and guide as to remove them.

Tags

  • Comments

Conclusion

We need to remove all commented-out code.

Relations

Refactorings

Credits

Photo by maxim bober on Unsplash


Don’t document the problem, fix it.

Atli Björgvin Oddsson


This article is part of the CodeSmell Series.

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.