Don't make two or more things at once.
TL;DR: Try to be as atomic as possible in your methods
Problems
Coupled Code
Harder to test
Harder to read
Solutions
- Break the method
Refactorings
Context
If you name a method with 'And' you are probably missing an extract-and-break method opportunity.
Sample Code
Wrong
calculatePrimeFactorsRemoveDuplicatesAndPrintThem()
// Three responsibilities
Right
calculatePrimeFactors();
removeDuplicates();
printNumbers();
// Three diferent methods
// We can test them and reuse them
Detection
[X] Semi-Automatic
Some linters can warn us about methods including the term 'and'.
Tags
- Coupling
Conclusion
When making methods, it is very important to play some rubber duck story and tell ourselves if we are making things right.
Relations
Disclaimer
Code Smells are just my opinion.
Credits
Photo by Scott Sanker on Unsplash
Learning the art of programming, like most other disciplines, consists of first learning the rules and then learning when to break them.
Joshua Bloch
Software Engineering Great Quotes
Maxi Contieri ・ Dec 28 '20
This article is part of the CodeSmell Series.