include::../rule.adoc[]

=== Code examples

==== Noncompliant code example

With the default threshold of 3:

[source,java,diff-id=1,diff-type=noncompliant]
----
public void run() {
  prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
  execute("action1");
  release("action1");
}

@SuppressWarning("all")                            // Compliant - annotations are excluded
private void method1() { /* ... */ }
@SuppressWarning("all")
private void method2() { /* ... */ }

public String printInQuotes(String a, String b) {
  return "'" + a + "'" + b + "'";               // Compliant - literal "'" has less than 5 characters and is excluded
}
----

==== Compliant solution

[source,java,diff-id=1,diff-type=compliant]
----
private static final String ACTION_1 = "action1";  // Compliant

public void run() {
  prepare(ACTION_1);                               // Compliant
  execute(ACTION_1);
  release(ACTION_1);
}
----

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[]
