rspec/rules/S3052/csharp/rule.adoc

45 lines
1.0 KiB
Plaintext
Raw Normal View History

2020-06-30 12:48:39 +02:00
The compiler automatically initializes class fields, auto-properties and events to their default values before setting them with any initialization values, so there is no need to explicitly set a member to its default value. Further, under the logic that cleaner code is better code, it's considered poor style to do so.
== Noncompliant Code Example
----
class X
{
public int field = 0; // Noncompliant
public object o = null; // Noncompliant
public object MyProperty { get; set; } = null; // Noncompliant
public event EventHandler MyEvent = null; // Noncompliant
}
----
== Compliant Solution
----
class X
{
public int field;
public object o;
public object MyProperty { get; set; }
public event EventHandler MyEvent;
}
----
== Exceptions
2021-01-27 13:42:22 +01:00
``++const++`` fields are ignored.
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[]