include::../description.adoc[] == Noncompliant Code Example ---- 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 ---- 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; } } ---- == Exceptions To prevent generating some false-positives, literals having 5 or less characters are excluded as well as literals containing only letters, digits and '_'. ifdef::rspecator-view[] == Comments And Links (visible only on this page) include::../comments-and-links.adoc[] endif::rspecator-view[]