C # Antimuster

To cut a long story short: ich finde die Java-antipatterns eine unverzichtbare Ressource. Für Anfänger genauso wie für Profis. Ich habe noch etwas finden, wie diese für C#. Also ich werde eröffnen diese Frage als community-wiki und laden alle ein, Ihr wissen zu teilen. Als ich bin neu in C# bin, bin ich stark interessiert, aber nicht starten mit einige antipatterns :/

Hier sind die Antworten die ich finden insbesondere gilt für C# und nicht in anderen Sprachen.

Ich nur copy/Paste! Betrachten Sie werfen einen Blick auf die Kommentare auf diese als gut.


Werfen Sie die NullReferenceException

Werfen der falsche Ausnahme:

if (FooLicenceKeyHolder == null)
    throw new NullReferenceException();

Eigenschaften und public-Variablen

Public-Variablen in Klassen (die Nutzung einer Immobilie statt).

Es sei denn, die Klasse ist eine einfache Daten-Transfer-Objekts.


Nicht zu verstehen, dass bool ein echter Typ, nicht nur eine Konvention

if (myBooleanVariable == true)
{
    ...
}

oder, noch besser

if (myBooleanVariable != false)
{
    ...
}

Konstrukte wie diese sind oft von C und C++ Entwicklern, wo die Idee, ein boolean-Wert war nur eine Konvention (0 == false, alles andere true); ist dies nicht notwendig (oder wünschenswert), die in C# oder anderen Sprachen, die echte booleans.


Mit ()

Nicht verwenden using gegebenenfalls:

object variable;
variable.close(); //Old code, use IDisposable if available.
variable.Dispose(); //Same as close.  Avoid if possible use the using() { } pattern.
variable = null; //1. in release optimised away.  2. C# is GC so this doesn't do what was intended anyway.

InformationsquelleAutor der Frage |

Schreibe einen Kommentar