rspec/rules/S3923/python/rule.adoc

47 lines
979 B
Plaintext

== Why is this an issue?
Having the same implementation in every branch of an ``++if++`` chain is an error. Either a copy-paste error was made and something different should be executed, or there shouldn't be an ``++if++`` chain at all.
=== Noncompliant code example
[source,python]
----
if b == 0: # Noncompliant
doOneMoreThing()
elif b == 1:
doOneMoreThing()
else:
doOneMoreThing()
b = 4 if a > 12 else 4 # Noncompliant
----
=== Exceptions
This rule does not apply to ``++if++`` chains without ``++else++``-s.
----
if b == 0: # no issue, this could have been done on purpose to make the code more readable
doOneMoreThing()
elif b == 1:
doOneMoreThing()
----
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
include::../message.adoc[]
include::highlighting.adoc[]
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]