== Why is this an issue? include::../description.adoc[] === Exceptions To prevent generating some false-positives, literals having 5 or less characters are excluded as well as literals containing only letters, digits and '_'. == How to fix it include::../howtofix.adoc[] === Code examples ==== Noncompliant code example [source,apex,diff-id=1,diff-type=noncompliant] ---- class A { void doSomething(String msg) { System.debug('string literal'); // Noncompliant - 'string literal' is duplicated 3 times System.assertEquals(msg, 'string literal'); msg = 'string literal'; } void doSomethingElse(String msg) { System.debug('a'); // Compliant - literal 'a' has less than 5 characters and is excluded System.assertEquals(msg, 'a'); msg = 'a'; } } ---- ==== Compliant solution [source,apex,diff-id=1,diff-type=compliant] ---- class A { static final String STRING_CONST = 'string literal'; void doSomething(String msg) { System.debug(STRING_CONST); // Compliant System.assertEquals(msg, STRING_CONST); msg = STRING_CONST; } } ---- 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[]