2023-05-03 11:06:20 +02:00
|
|
|
== Why is this an issue?
|
|
|
|
|
2023-06-29 13:18:24 +02:00
|
|
|
Re-assigning a variable to itself is a defect as it has no actual effect and indicates meaning to do something else.
|
|
|
|
It usually means that:
|
2020-06-30 12:47:33 +02:00
|
|
|
|
2023-06-29 13:18:24 +02:00
|
|
|
* The statement is redundant and should be removed
|
|
|
|
* The re-assignment is a mistake, and another value or variable was intended for the assignment instead
|
2020-06-30 12:47:33 +02:00
|
|
|
|
2023-06-29 13:18:24 +02:00
|
|
|
=== Code examples
|
|
|
|
|
|
|
|
==== Noncompliant code example
|
|
|
|
|
|
|
|
[source,csharp,diff-id=1,diff-type=noncompliant]
|
2020-06-30 12:47:33 +02:00
|
|
|
----
|
2023-06-29 13:18:24 +02:00
|
|
|
public class Choice {
|
|
|
|
private bool selected;
|
|
|
|
|
|
|
|
public void MakeChoice(bool selected)
|
|
|
|
{
|
|
|
|
selected = selected; // Noncompliant
|
|
|
|
}
|
2020-06-30 12:47:33 +02:00
|
|
|
}
|
|
|
|
----
|
|
|
|
|
2023-06-29 13:18:24 +02:00
|
|
|
==== Compliant solution
|
2020-06-30 12:47:33 +02:00
|
|
|
|
2023-06-29 13:18:24 +02:00
|
|
|
[source,csharp,diff-id=1,diff-type=compliant]
|
2020-06-30 12:47:33 +02:00
|
|
|
----
|
2023-06-29 13:18:24 +02:00
|
|
|
public class Choice {
|
|
|
|
private bool selected;
|
|
|
|
|
|
|
|
public void MakeChoice(bool selected)
|
|
|
|
{
|
|
|
|
this.selected = selected; // Compliant
|
|
|
|
}
|
2020-06-30 12:47:33 +02:00
|
|
|
}
|
|
|
|
----
|
|
|
|
|
2023-06-29 13:18:24 +02:00
|
|
|
== Resources
|
|
|
|
|
|
|
|
=== Documentation
|
|
|
|
|
|
|
|
* Microsoft Learn - https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs1717[Compiler Warning (level 3) CS1717]
|
|
|
|
|
|
|
|
|
|
|
|
ifdef::env-github,rspecator-view,env-vscode[]
|
2021-09-20 15:38:42 +02:00
|
|
|
|
|
|
|
'''
|
|
|
|
== Implementation Specification
|
|
|
|
(visible only on this page)
|
|
|
|
|
|
|
|
include::../message.adoc[]
|
|
|
|
|
2021-06-08 15:52:13 +02:00
|
|
|
'''
|
2021-06-02 20:44:38 +02:00
|
|
|
== Comments And Links
|
|
|
|
(visible only on this page)
|
|
|
|
|
|
|
|
include::../comments-and-links.adoc[]
|
2023-06-22 10:38:01 +02:00
|
|
|
|
2023-06-29 13:18:24 +02:00
|
|
|
endif::env-github,rspecator-view,env-vscode[]
|