Code Smell 46 - Repeated Code

Code Smell 46 - Repeated Code

Subscribe to my newsletter and never miss my upcoming articles

Listen to this article

DRY is our mantra. Teachers tell us to remove duplication. We need to go beyond.

Problems

Solutions

  1. Find repeated patterns (not repeated code).

  2. Create an abstraction.

  3. Parametrize abstraction calls.

  4. Use composition and never inheritance.

  5. Unit test new abstraction.

Sample Code

Wrong

Detection

Linters can find repeated code.

There are not very good finding similar patterns.

Maybe soon machine learning will help us find such abstractions automatically.

For now, it is up to us, humans.

Examples

Tags

  • Duplication

Conclusion

Repeated code is always a smell.

Copying and pasting code is always a shame.

With our refactoring tools, we need to accept the duplication remove challenge trusting our tests as a safety net.

Relations

More info

Credits

Photo by Sid Balachandran on Unsplash


Copy and paste is a design error.

David Parnas



This article is part of the CodeSmell Series.

 
Share this