Skip to content


Sourcery rule id: merge-nested-ifs


Merge nested if conditions


if a:
    if b:
        return c


if a and b:
    return c


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.