40 lines
776 B
Plaintext
40 lines
776 B
Plaintext
![]() |
include::../description.adoc[]
|
||
|
|
||
|
== Noncompliant Code Example
|
||
|
|
||
|
With the default threshold of 3:
|
||
|
----
|
||
|
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
|
||
|
|
||
|
----
|
||
|
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
|
||
|
|
||
|
----
|
||
|
@app.route("/api/users/", methods=['GET', 'POST', 'PUT'])
|
||
|
def users():
|
||
|
pass
|
||
|
|
||
|
@app.route("/api/projects/", methods=['GET', 'POST', 'PUT']) # Compliant
|
||
|
def projects():
|
||
|
pass
|
||
|
----
|