Comments are often a code smell. Inserting them inside a method calls for an urgent refactor.
TL;DR: Don't add comments inside your methods. Extract them and leave declarative comments just for not obvious design decisions.
-
Readability
-
Kiss
-
Low Reuse
-
Bad Documentation
-
Extract Method
-
Remove not declarative comments.
Refactoring 005 - Replace Comment with Function Name
function recoverFromGrief() {
// Denial stage
absorbTheBadNews();
setNumbAsProtectiveState();
startToRiseEmotions();
feelSorrow();
// Anger stage
maskRealEffects();
directAngerToOtherPeople();
blameOthers();
getIrrational();
// bargaining stage
feelVulnerable();
regret();
askWhyToMyself();
dreamOfAlternativeWhatIfScenarios();
postponeSadness();
// depression stage
stayQuiet();
getOverwhelmed();
beConfused();
// acceptance stage
acceptWhatHappened();
lookToTheFuture();
reconstructAndWalktrough();
}
function recoverFromGrief() {
denialStage();
angerStage();
bargainingStage();
depressionStage();
acceptanceStage();
}
function denialStage() {
absorbTheBadNews();
setNumbAsProtectiveState();
startToRiseEmotions();
feelSorrow();
}
function angerStage() {
maskRealEffects();
directAngerToOtherPeople();
blameOthers();
getIrrational();
}
function bargainingStage() {
feelVulnerable();
regret();
askWhyToMyself();
dreamOfAlternativeWhatIfScenarios();
postponeSadness();
}
function depressionStage() {
stayQuiet();
getOverwhelmed();
beConfused();
}
function acceptanceStage() {
acceptWhatHappened();
lookToTheFuture();
reconstructAndWalktrough();
}
This is a policy smell. Every linter can detect comments not present in the first line and warn us.
Tip: (Thanks @GreenFieldCoder)
To get rid of comments fast, change your IDE to display comments with red background and yellow text. It will literally scream refactor me when browsing the code.
Also prevents you from writing new comments.
-
Readability
-
Long Methods
-
Comments
Comments are a code smell. If you need to document a design decision, you should do it before the actual method code.
Code Smell 03 - Functions Are Too Long
Code Smell 05 - Comment Abusers
Code Smell 168 - Undocumented Decisions
Photo by Jason Rosewell on Unsplash
Don't get suckered in by the comments, they can be terribly misleading: Debug only the code.
Dave Storer
Software Engineering Great Quotes
This article is part of the CodeSmell Series.