
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
60 lines
1005 B
Plaintext
60 lines
1005 B
Plaintext
== Why is this an issue?
|
|
|
|
include::../description.adoc[]
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,java]
|
|
----
|
|
public class A {
|
|
public static int counter = 0;
|
|
}
|
|
|
|
public class B {
|
|
private A first = new A();
|
|
private A second = new A();
|
|
|
|
public void runUpTheCount() {
|
|
first.counter ++; // Noncompliant
|
|
second.counter ++; // Noncompliant. A.counter is now 2, which is perhaps contrary to expectations
|
|
}
|
|
}
|
|
----
|
|
|
|
=== Compliant solution
|
|
|
|
[source,java]
|
|
----
|
|
public class A {
|
|
public static int counter = 0;
|
|
}
|
|
|
|
public class B {
|
|
private A first = new A();
|
|
private A second = new A();
|
|
|
|
public void runUpTheCount() {
|
|
A.counter ++; // Compliant
|
|
A.counter ++; // Compliant
|
|
}
|
|
}
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
Change this instance-reference to a static reference.
|
|
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
include::../comments-and-links.adoc[]
|
|
endif::env-github,rspecator-view[]
|