(0 == Variable) oder (null == obj): Eine veraltete Methode in C #? [Duplikat]

8

Genaues Duplikat:

  

Warum tut man sehe oft "null! = variable" anstelle von "variable! = null" in C #?

Ich habe leitende Entwickler gesehen, die die im Titel erwähnten Syntaxen benutzten Muss in .NET zuerst eine Konstante angegeben werden? (im Gegensatz zu in C / C ++ Welt)

    
Sung 17.03.2009, 19:20
quelle

4 Antworten

21

Nein, das ist nicht nötig, weil das Problem, das es zu vermeiden versucht - nämlich der Tippfehler:

%Vor%

würde sowieso nicht in C # kompilieren. Die Bedingungen in if -Anweisungen müssen Boolean sein. Es besteht immer noch die Gefahr, einen dieser Fehler zu machen:

%Vor%

Wenn something eine boolesche Variable ist, ist es besser, die Konstante zu vermeiden:

%Vor%

Wenn Entwickler solche Idiome aus anderen Sprachen mitbringen, ohne darüber nachzudenken, ob sie in C # passen, sollten Sie darauf achten, dass sie mehr davon tun. Wenn Sie versuchen, C # zu schreiben, als wäre es C ++ (oder eine andere Sprache, mit Ausnahme von VB.NET), schreiben Sie am Ende nicht-idiomatischen C # -Code.

EDIT: Wie bereits erwähnt, ist ein weiterer potentieller Bereich, um den es sich handelt:

%Vor%

So kann der Fehler immer noch auftreten - aber dann sind wir außerhalb des Bereichs der Vergleich mit einer Konstante sowieso :) Ich würde sagen, dass dies unglaublich selten auftaucht, und ist nicht zu viel Zeit damit verbracht, sich darum zu sorgen.

    
Jon Skeet 17.03.2009, 19:23
quelle
10

Diese Syntax ist in der modernen Welt nicht nötig. Es ist eine Angewohnheit, auf die sich viele von uns stürzten, als unser C-Compiler uns nicht warnte, dass wir die Raketen starten würden.

%Vor%     
Bill the Lizard 17.03.2009 19:28
quelle
5

Ich vermute, das ist eine Überbleibsel-Gewohnheit. In C:

%Vor%

wird einen Compilerfehler verursachen, während

%Vor%

wird nicht.

    
Dana 17.03.2009 19:23
quelle
0

Es wird nicht für C # benötigt. Aber es ist immer noch eine gute Idee.

Beim Programmieren dreht sich alles um die Gewohnheit, und man weiß nie, wann man ein wenig JavaScript schreibt oder ein altes Programm aktualisiert, von dem man denkt, es sei schon lange vorbei.

    
Joel Coehoorn 17.03.2009 19:35
quelle

Tags und Links