Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SIM114: Duplicate blocks in conditionals #10

Closed
MartinThoma opened this issue Oct 10, 2020 · 1 comment
Closed

SIM114: Duplicate blocks in conditionals #10

MartinThoma opened this issue Oct 10, 2020 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@MartinThoma
Copy link
Owner

MartinThoma commented Oct 10, 2020

Explanation

See https://sourcery.ai/blog/explaining-refactorings-4/

Example

# Bad
if a:
    b
elif c:
    b

# Good
if a or c:
    b
@MartinThoma MartinThoma added the enhancement New feature or request label Oct 10, 2020
@MartinThoma MartinThoma self-assigned this Oct 10, 2020
@MartinThoma
Copy link
Owner Author

        If(
            test=Name(id='a', ctx=Load()),
            body=[
                Expr(
                    value=Name(id='b', ctx=Load()),
                ),
            ],
            orelse=[
                If(
                    test=Name(id='c', ctx=Load()),
                    body=[
                        Expr(
                            value=Name(id='b', ctx=Load()),
                        ),
                    ],
                    orelse=[],
                ),
            ],
        ),

MartinThoma added a commit that referenced this issue Nov 29, 2020
MartinThoma added a commit that referenced this issue Nov 29, 2020
MartinThoma added a commit that referenced this issue Nov 29, 2020
MartinThoma added a commit that referenced this issue Nov 29, 2020
@MartinThoma MartinThoma changed the title [New Rule] Duplicate blocks in conditionals SIM114: Duplicate blocks in conditionals Jan 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant