rspec/rules/S2696/java/rule.adoc
Jamie Anderson 9ee16daa47
Modify rules: Add STIG AS&D 2023-06-08 mappings (#3914)
* Update JSON schema to include STIG ASD 2023-06-08 mapping

* Update rules to add STIG metadata mappings

---------

Co-authored-by: Loris Sierra <loris.sierra@sonarsource.com>
2024-05-06 08:56:31 +02:00

55 lines
1.1 KiB
Plaintext

== Why is this an issue?
Correctly updating a ``++static++`` field from a non-static method is tricky to get right and could easily lead to bugs if there are multiple class instances and/or multiple threads in play. Ideally, ``++static++`` fields are only updated from ``++synchronized static++`` methods.
This rule raises an issue each time a ``++static++`` field is updated from a non-static method.
=== Noncompliant code example
[source,java]
----
public class MyClass {
private static int count = 0;
public void doSomething() {
//...
count++; // Noncompliant
}
}
----
== Resources
include::../common/resources/standards.adoc[]
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
=== Message
Make the enclosing method "static" or remove this set.
=== Highlighting
* Primary: the field assignment
* Secondary: the field definition
** message: "Field definition."
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]