rspec/rules/S1656/csharp/rule.adoc

61 lines
1.2 KiB
Plaintext
Raw Normal View History

== 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[]
'''
== Implementation Specification
(visible only on this page)
include::../message.adoc[]
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
2023-06-29 13:18:24 +02:00
endif::env-github,rspecator-view,env-vscode[]