include::../why.adoc[]

=== Exceptions

This rule ignores initializations to `-1`, `0`, `1`, `null`, `true`, `false` and `""`.

include::../howtofixit.adoc[]

=== Code examples

==== Noncompliant code example

[source,java,diff-id=1,diff-type=noncompliant]
----
int foo(int y) {
  int x = 100; // Noncompliant: dead store
  x = 150;     // Noncompliant: dead store
  x = 200;
  return x + y;
}
----

==== Compliant solution

[source,java,diff-id=1,diff-type=compliant]
----
int foo(int y) {
  int x = 200; // Compliant: no unnecessary assignment
  return x + y;
}
----

include::../see.adoc[]

=== Related rules

* S2583 - Conditionally executed code should be reachable
* S2589 - Boolean expressions should not be gratuitous
* S3516 - Methods returns should not be invariant
* S3626 - Jump statements should not be redundant

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

include::../message.adoc[]

'''
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]

endif::env-github,rspecator-view[]
