Verwendung oder Nicht-Verwendung des Qualifikationsmerkmals 'this' in C # [duplizieren]

7

Ich habe gerade begonnen, Resharper zu verwenden, um meinen Code zu analysieren, und es gibt viele Dinge, die er vorgeschlagen hat, und ich bin wirklich zufrieden mit seinem Output, da er mir auch ein paar bessere Methoden beibringt, Dinge zu tun.

Offensichtlich können seine Vorschläge ignoriert werden und eines davon möchte ich gerne ein Feedback von der Community bekommen!

Ich habe es immer vorgezogen, das Qualifikationsmerkmal 'this' für Eigenschaften zu verwenden, die zur aktuellen Klasse gehören (d. h. this.Name). Kein wirklicher Grund - ich schien das gerade vor vielen Monden anzunehmen.

Resharper schlägt vor, dass dies überflüssig ist und vielleicht sollte ich es entfernen.

Was denkst du?

    
EzaBlade 04.05.2011, 14:43
quelle

7 Antworten

11

Eines der wichtigen Dinge, an die man sich erinnern sollte, ist, dass this vom Compiler entfernt wurde und es daher nur darum geht, "was für Sie und diejenigen, mit denen Sie Code teilen, gut aussieht?". Es wird sich nicht auf die Leistung auswirken.

    
Cos Callis 04.05.2011, 14:53
quelle
12

Vorzugsweise benutze ich this nur, um Mehrdeutigkeiten zwischen (möglicherweise) einer Eigenschaft und einem Funktionsparameter zu verhindern

%Vor%

Wenn Sie bereits im Kontext einer bestimmten Klasse arbeiten, ist es nicht schwer, dies im Hinterkopf zu behalten, und ich muss nicht daran erinnert werden, dass ich jedes Mal eine lokale Variable anspreche, wenn ich eine adressiere.

Also ich denke, Resharper ist genau hier.

    
Timothy Groote 04.05.2011 14:48
quelle
11

Ich finde es überflüssig, besonders mit einem klar definierten Kodierungsstandard:

%Vor%

Die Verwendung von this.<whatever> scheint einfach mehr Arbeit zu sein.

    
Tejs 04.05.2011 14:47
quelle
6

Ich persönlich denke, dass es eine gute Übung ist, this keyword zu verwenden, weil es eindeutig Marken sind, ob prorerty / method / etc zur Objektinstanz gehört oder nicht. Dies ist besonders nützlich, wenn private Member so benannt werden, dass lokale Variablen nicht von privaten Membern unterschieden werden können:

%Vor%

Es ist unnötig zu sagen, dass es wahrscheinlich besser ist, es überhaupt als inkonsistent zu verwenden.

Ich finde jedoch, dass die konstante Verwendung von this den Code "lärmend" aussehen lässt, wobei this ein unbrauchbarer Distraktor ist. IMO ist es besser, spezielle _ Präfix Benennung für private Mitglieder zu verwenden:

%Vor%

es ist auch viel schneller zu tippen.

    
Petr Abdulin 04.05.2011 14:51
quelle
5

Ein Vorteil davon. ist Intellisense. Es verringert die Liste der Dinge, die Sie schneller auswählen können.

    
n8wrl 04.05.2011 14:50
quelle
2

Es ist technisch überflüssig, aber StyleCop (wenn Sie wählerisch sind und die vollständigen Microsoft-Codierungsstandards verwenden) sagt, dass Sie es verwenden sollten.

Ich tue es, viele Leute nicht, also denke ich, dass es auf persönlichen Vorlieben oder den Kodierungsstandard bei Ihrem Arbeitgeber beruht.

    
Jackson Pope 04.05.2011 14:45
quelle
1

In diesem Fall ist es eine Vorliebe - also bevorzugen Sie es zu benutzen, erzählen Sie das nach und es hört auf sich zu beklagen.

    
jenson-button-event 04.05.2011 14:46
quelle

Tags und Links