Beginners are afraid to remove code. And many seniors too.
TL;DR: Don't leave commented code. Remove it.
Problems
Readability
Dead Code
Lack of Coverage
Lack of Source Version Control
Solutions
Remove commented code
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
Code Smell 75 - Comments Inside a Method
Maxi Contieri ・ Jun 5 '21
Refactorings
Refactoring 005 - Replace Comment with Function Name
Maxi Contieri ・ Jun 7 '22
Credits
Photo by maxim bober on Unsplash
Don’t document the problem, fix it.
Atli Björgvin Oddsson
Software Engineering Great Quotes
Maxi Contieri ・ Dec 28 '20
This article is part of the CodeSmell Series.
Top comments (1)
At my current company, which is using C#, they still have some files with commented out Visual Basic code. They changed languages years ago.