Photo by maxim bober on Unsplash

# Code Smell 151 - Commented Code

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

·

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

# Problems

• 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.

# Conclusion

We need to remove all commented-out code.

# Credits

Photo by maxim bober on Unsplash

Don’t document the problem, fix it.

Atli Björgvin Oddsson