Migrate Java code to separate QL repo.

This commit is contained in:
Pavel Avgustinov
2018-08-30 10:48:05 +01:00
parent d957c151a6
commit 846c9d5860
2319 changed files with 134386 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
<!DOCTYPE qhelp PUBLIC
"-//Semmle//qhelp//EN"
"qhelp.dtd">
<qhelp>
<overview>
<p>A field of immutable type that is not declared <code>final</code>, but is assigned to only in a
constructor or static initializer of its declaring type, may lead to defects and makes code less
readable. This is because other parts of the code may be based on the assumption that the field has
a constant value, and a later modification, which includes an assignment to the field, may
invalidate this assumption.
</p>
</overview>
<recommendation>
<p>If a field of immutable type is assigned to only during class or instance initialization,
you should usually declare it <code>final</code>. This forces the compiler to verify that the field
value cannot be changed subsequently, which can help to avoid defects and increase code readability.
</p>
</recommendation>
<references>
<li>
Java Language Specification:
<a href="http://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.12.4">4.12.4 final Variables</a>,
<a href="http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.3.1.2">8.3.1.2 final Fields</a>.
</li>
</references>
</qhelp>