org.sonar.l10n.py.rules.python.S1192.html Maven / Gradle / Ivy
Why is this an issue?
Duplicated string literals make the process of refactoring complex and error-prone, as any change would need to be propagated on all
occurrences.
Exceptions
No issue will be raised on:
- duplicated string in decorators
- strings with less than 5 characters
- strings with only letters, numbers and underscores
How to fix it
Use constants to replace the duplicated string literals. Constants can be referenced from many places, but only need to be updated in a single
place.
Code examples
Noncompliant code example
With the default threshold of 3:
def run():
prepare("action1") # Noncompliant - "action1" is duplicated 3 times
execute("action1")
release("action1")
@app.route("/api/users/", methods=['GET', 'POST', 'PUT'])
def users():
pass
@app.route("/api/projects/", methods=['GET', 'POST', 'PUT']) # Compliant - strings inside decorators are ignored
def projects():
pass
Compliant solution
ACTION_1 = "action1"
def run():
prepare(ACTION_1)
execute(ACTION_1)
release(ACTION_1)
© 2015 - 2024 Weber Informatics LLC | Privacy Policy