How many times do we see lazy argument names?
TL;DR: Name your arguments according to the role and not the accidental position
Problems
Readability
Intention Revealing Names
Solutions
- Use meaningful names
Context
When writing methods, we usually don't stop to find decent names.
We never refactor the obvious, neither.
Sample Code
Wrong
class Calculator:
def subtract(self, first, second):
return first - second
class CalculatorTest:
def test_multiply():
assert equals(first, second)
Right
class Calculator:
def subtract(self, minuend, subtrahend):
return minuend - subtrahend
class CalculatorTest:
def test_multiply():
assert equals(expectedValue, realValue)
Detection
[x] Manual
We can warn for forbidden words like 'first' and 'second' as argument names.
Tags
- Readability
Conclusion
Always follow rule suggesting parameter.
Name your collaborators according to the role.
Relations
Code Smell 65 - Variables Named After Types
Maxi Contieri ・ Apr 2 '21
#codenewbie
#codesmells
#oop
#webdev
More Info
What exactly is a name - Part II Rehab
Maxi Contieri ・ May 23 '21
#tutorial
#codenewbie
#programming
#webdev
Credits
Photo by Priscilla Du Preez on Unsplash
Final source code is the real software design.
Jack Reeves
Software Engineering Great Quotes
Maxi Contieri ・ Dec 28 '20
#codenewbie
#programming
#quotes
#software
This article is part of the CodeSmell Series.