Why this matters
Checking `x is None` when `x` is always `None` (or never `None`) is unnecessary and may indicate a deeper logic issue.
Identify cases where `x is None` or `x is not None` is used redundantly when `x` is always or never `None`. This may indicate a deeper logic issue.
Checking `x is None` when `x` is always `None` (or never `None`) is unnecessary and may indicate a deeper logic issue.
Side-by-side examples engineers can pattern-match during review.
def foo():
my_var = None
if my_var == None: # Noncompliant: always True.
...def foo(my_var):
if my_var == None:
...def foo():
my_var = None
if my_var == None: # Noncompliant: always True.
...def foo(my_var):
if my_var == None:
...From the same buckets as this rule.