
When an include is not surrounded by empty lines, its content is inlined on the same line as the adjacent content. That can lead to broken tags and other display issues. This PR fixes all such includes and introduces a validation step that forbids introducing the same problem again.
62 lines
1.3 KiB
Plaintext
62 lines
1.3 KiB
Plaintext
== Why is this an issue?
|
|
|
|
include::../description.adoc[]
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,apex]
|
|
----
|
|
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]
|
|
----
|
|
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::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
include::../message.adoc[]
|
|
|
|
include::../parameters.adoc[]
|
|
|
|
include::../highlighting.adoc[]
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
include::../comments-and-links.adoc[]
|
|
|
|
endif::env-github,rspecator-view[]
|