Skip to content

Merge-Nested-Ifs

Sourcery rule id: merge-nested-ifs

Description

Merge nested if conditions

Before

if a:
    if b:
        return c

After

if a and b:
    return c

Explanation

Too much nesting can make code difficult to understand, and this is especially true in Python, where there are no brackets to help out with the delineation of different nesting levels.

Reading deeply nested code is confusing, since you have to keep track of which conditions relate to which levels. We therefore strive to reduce nesting where possible, and the situation where two if conditions can be combined using and is an easy win.