Avoid duplicate variable reassignment in Python

Avoid assigning a variable to itself or reassigning a variable with the same value.
Bad:
```python
# Redundant self-assignment
x = 10
x = x  # Unnecessary reassignment

Install this rule for wispbit Cloud

Add this rule to wispbit and it will run when you open a pull request

Install this rule with wispbit CLI

Run this command in your terminal to install the rule locally

npx @wispbit/cli rule install python-duplicate-reassignment

Install this rule for Coderabbit

Copy the configuration below and add it to your repository as .coderabbit.yml in your project root.

reviews:
  path_instructions:
    - path: "*.py"
      instructions: |
                
        Avoid assigning a variable to itself or reassigning a variable with the same value.
        
        Bad:
        
        ```python
        # Redundant self-assignment
        x = 10
        x = x  # Unnecessary reassignment
        
        # Duplicate assignment with the same value
        y = "hello"
        # ... some code ...
        y = "hello"  # Unnecessary reassignment with identical value
        ```
        
        Good:
        
        ```python
        # Single, clear assignment
        x = 10
        
        # Only reassign when the value changes
        y = "hello"
        # ... some code ...
        y = "updated value"  # Value actually changes
        ```
        

Install this rule for Greptile

Greptile rules can be added through the web interface. Please see this documentation for details on how to add custom rules and context.

Avoid assigning a variable to itself or reassigning a variable with the same value.
Bad:
```python
# Redundant self-assignment
x = 10
x = x  # Unnecessary reassignment
# Duplicate assignment with the same value
y = "hello"
# ... some code ...
y = "hello"  # Unnecessary reassignment with identical value
```
Good:
```python
# Single, clear assignment
x = 10
# Only reassign when the value changes
y = "hello"
# ... some code ...
y = "updated value"  # Value actually changes
```

File Path Patterns:

*.py

Install this rule for GitHub Copilot

Copilot instructions can be added through the interface. See the documentation for details on how to create coding guidelines.

Avoid assigning a variable to itself or reassigning a variable with the same value.
Bad:
```python
# Redundant self-assignment
x = 10
x = x  # Unnecessary reassignment
# Duplicate assignment with the same value
y = "hello"
# ... some code ...
y = "hello"  # Unnecessary reassignment with identical value
```
Good:
```python
# Single, clear assignment
x = 10
# Only reassign when the value changes
y = "hello"
# ... some code ...
y = "updated value"  # Value actually changes
```

File Path Patterns:

*.py

Install this rule for Graphite Diamond

Diamond custom rules can be added through the interface. See the documentation for details on how to create custom rules.

Avoid assigning a variable to itself or reassigning a variable with the same value.
Bad:
```python
# Redundant self-assignment
x = 10
x = x  # Unnecessary reassignment
# Duplicate assignment with the same value
y = "hello"
# ... some code ...
y = "hello"  # Unnecessary reassignment with identical value
```
Good:
```python
# Single, clear assignment
x = 10
# Only reassign when the value changes
y = "hello"
# ... some code ...
y = "updated value"  # Value actually changes
```

File Path Patterns:

*.py

Use with Cline

Copy the rule below and ask Cline to review your code using this rule

Avoid assigning a variable to itself or reassigning a variable with the same value.
Bad:
```python
# Redundant self-assignment
x = 10
x = x  # Unnecessary reassignment
# Duplicate assignment with the same value
y = "hello"
# ... some code ...
y = "hello"  # Unnecessary reassignment with identical value
```
Good:
```python
# Single, clear assignment
x = 10
# Only reassign when the value changes
y = "hello"
# ... some code ...
y = "updated value"  # Value actually changes
```

Use with OpenAI Codex

Copy the rule below and ask OpenAI Codex to review your code using this rule

Avoid assigning a variable to itself or reassigning a variable with the same value.
Bad:
```python
# Redundant self-assignment
x = 10
x = x  # Unnecessary reassignment
# Duplicate assignment with the same value
y = "hello"
# ... some code ...
y = "hello"  # Unnecessary reassignment with identical value
```
Good:
```python
# Single, clear assignment
x = 10
# Only reassign when the value changes
y = "hello"
# ... some code ...
y = "updated value"  # Value actually changes
```

Use with Cursor

Copy the rule below and ask Cursor to review your code using this rule

Avoid assigning a variable to itself or reassigning a variable with the same value.
Bad:
```python
# Redundant self-assignment
x = 10
x = x  # Unnecessary reassignment
# Duplicate assignment with the same value
y = "hello"
# ... some code ...
y = "hello"  # Unnecessary reassignment with identical value
```
Good:
```python
# Single, clear assignment
x = 10
# Only reassign when the value changes
y = "hello"
# ... some code ...
y = "updated value"  # Value actually changes
```

Use with Claude Code

Copy the rule below and ask Claude Code to review your code using this rule

Avoid assigning a variable to itself or reassigning a variable with the same value.
Bad:
```python
# Redundant self-assignment
x = 10
x = x  # Unnecessary reassignment
# Duplicate assignment with the same value
y = "hello"
# ... some code ...
y = "hello"  # Unnecessary reassignment with identical value
```
Good:
```python
# Single, clear assignment
x = 10
# Only reassign when the value changes
y = "hello"
# ... some code ...
y = "updated value"  # Value actually changes
```

Install this rule for Windsurf

To set up rules for Windsurf Reviews, please see this documentation

Avoid assigning a variable to itself or reassigning a variable with the same value.
Bad:
```python
# Redundant self-assignment
x = 10
x = x  # Unnecessary reassignment
# Duplicate assignment with the same value
y = "hello"
# ... some code ...
y = "hello"  # Unnecessary reassignment with identical value
```
Good:
```python
# Single, clear assignment
x = 10
# Only reassign when the value changes
y = "hello"
# ... some code ...
y = "updated value"  # Value actually changes
```