Duplicated string literals make the process of refactoring complex and error-prone, as any change would need to be propagated on all occurrences.
To prevent generating some false-positives, literals having 5 or less characters are excluded as well as literals containing only letters, digits and '_'.
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.
With the default threshold of 3:
public def run() {
prepare("action random1") // Noncompliant - "action random1" is duplicated 3 times
execute("action random1")
release("action random1")
}
public def run() {
val Action = "action random1"
prepare(Action)
execute(Action)
release(Action)
}