Variable reuse is something we see in big chunks of code.
TL;DR: Don't reuse variable names. You break readability and refactor chances and gain nothing but laziness.
Problems
- 
Readability 
- 
Refactor chances 
- 
Missed Optimization 
- 
Mutability 
- 
Garbage Collection Missed Opportunities 
Solutions
- 
Define, use and dispose variables. 
- 
Keep your Definition, Usage and Destroy variables short. 
Sample Code
Wrong
class Item:   def __init__(self, name):     self.name = name   def taxesCharged(self):     return 1; class Money:   pass   lastPurchase = Item('Soda'); # Do something with the purchase  taxAmount = lastPurchase.taxesCharged(); # Lots of stuff related to the purchase # I drink the soda  # I cannot extract method from below without passing # useless lastPurchase as parameter  # a few hours later.. lastPurchase = Item('Whisky'); # I bough another drink  taxAmount += lastPurchase.taxesCharged(); Right
class Item:   def __init__(self, name):     self.name = name   def taxesCharged(self):     return 1; class Money:   pass   def buySupper():   supperPurchase = Item('Soda');   # Do something with the purchase    # Lots of stuff related to the purchase   # I drink the soda   return supperPurchase;  def buyDrinks():   # I could extract method!     # a few hours later..   drinksPurchase = Item('Whisky');   # I bough another drink    return drinksPurchase;  taxAmount = buySupper().taxesCharged() + buyDrinks().taxesCharged(); Detection
Many linters can warn us from reusing variables
Tags
- Readability
Conclusion
Reusing variables is a non-contextual copy and paste hint.
Relations
 
     
Code Smell 03 – Functions Are Too Long
Maxi Contieri ・ Oct 22 '20
More Info
Credits
Photo by Robby McCullough on Unsplash
Either way you look at it (DRY or laziness), the idea is the same: make your program flexible. When change comes (and it always does), you'll have a much easier time changing with it.
Chris Pine
 
     
Software Engineering Great Quotes
Maxi Contieri ・ Dec 28 '20
This article is part of the CodeSmell Series.
 
     
How to Find the Stinky parts of your Code
Maxi Contieri ・ May 21 '21
Last update: 2021/07/14
 
                    