== Why is this an issue?

include::../description.adoc[]

=== Exceptions

No issue will be raised on:

* strings with less than 5 characters
* strings with only letters, numbers, underscores, hyphens and periods

== How to fix it

include::../howtofix.adoc[]

=== Code examples

==== Noncompliant code example

With the default threshold of 3:

[source,php,diff-id=1,diff-type=noncompliant]
----
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

[source,php,diff-id=1,diff-type=compliant]
----
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);
}
----

[source,php]
----
$severity = $request->getParam('severity-score');
----

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

include::../message.adoc[]

include::../parameters.adoc[]

include::../highlighting.adoc[]

'''

endif::env-github,rspecator-view[]
