
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
66 lines
1.1 KiB
Plaintext
66 lines
1.1 KiB
Plaintext
== Why is this an issue?
|
|
|
|
include::../description.adoc[]
|
|
|
|
=== Noncompliant code example
|
|
|
|
With the default threshold of 3:
|
|
|
|
[source,python]
|
|
----
|
|
def run():
|
|
prepare("this is a duplicate") # Noncompliant - "this is a duplicate" is duplicated 3 times
|
|
execute("this is a duplicate")
|
|
release("this is a duplicate")
|
|
----
|
|
|
|
=== Compliant solution
|
|
|
|
[source,python]
|
|
----
|
|
ACTION_1 = "action1"
|
|
|
|
def run():
|
|
prepare(ACTION_1)
|
|
execute(ACTION_1)
|
|
release(ACTION_1)
|
|
----
|
|
|
|
=== Exceptions
|
|
|
|
No issue will be raised on:
|
|
|
|
* duplicated string in decorators
|
|
* strings with less than 5 characters
|
|
* strings with only letters, numbers and underscores
|
|
|
|
[source,python]
|
|
----
|
|
@app.route("/api/users/", methods=['GET', 'POST', 'PUT'])
|
|
def users():
|
|
pass
|
|
|
|
@app.route("/api/projects/", methods=['GET', 'POST', 'PUT']) # Compliant
|
|
def projects():
|
|
pass
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
include::../message.adoc[]
|
|
|
|
include::../parameters.adoc[]
|
|
|
|
include::../highlighting.adoc[]
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
include::../comments-and-links.adoc[]
|
|
endif::env-github,rspecator-view[]
|