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:

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:

function 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

MESSAGE = 'this is a duplicate';

function run() {
  prepare(MESSAGE); // Compliant - the duplicated string literal is replaced by a constant and can be safely re-used
  execute(MESSAGE);
  release(MESSAGE);
}
$severity = $request->getParam('severity-score');