DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

Cover image for Code Smell 99 - First Second
Maxi Contieri ⭐⭐⭐
Maxi Contieri ⭐⭐⭐

Posted on • Originally published at maximilianocontieri.com

Code Smell 99 - First Second

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

  1. 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)
Enter fullscreen mode Exit fullscreen mode

Right

class Calculator:
  def subtract(self, minuend, subtrahend):
    return minuend - subtrahend

class CalculatorTest:  
  def test_multiply():
    assert equals(expectedValue, realValue)
Enter fullscreen mode Exit fullscreen mode

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

More Info

Credits

Photo by Priscilla Du Preez on Unsplash


Final source code is the real software design.

Jack Reeves


This article is part of the CodeSmell Series.

Top comments (0)

Timeless DEV post...

How to write a kickass README

Arguably the single most important piece of documentation for any open source project is the README. A good README not only informs people what the project does and who it is for but also how they use and contribute to it.

If you write a README without sufficient explanation of what your project does or how people can use it then it pretty much defeats the purpose of being open source as other developers are less likely to engage with or contribute towards it.