Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.
On the other hand, constants can be referenced from many places, but only need to be updated in a single place.
Noncompliant Code Example
With the default threshold of 3:
prepare("a message") // Noncompliant; duplicated 3 times
execute("a message")
release("a message")
Compliant Solution
let message = "a message"
prepare(message)
execute(message)
release(message)
Exceptions
To prevent generating some false-positives, literals having 5 or less characters are excluded as well as literals containing only letters, digits
and '_'.