ReSharper-Warnungen für JavaScript-Namenskonventionen für Konstruktorfunktionen

8

In JavaScript gefällt mir die Benennungskonvention von PascalCase für Konstruktorfunktionen und camelCase für andere Funktionen. Es scheint, dass ReSharper für diese Einstellungen konfiguriert ist. Für Code wie diesen jedoch:

%Vor%

... Ich erhalte diese Warnung:

  

Name 'Thing' stimmt nicht mit der Regel 'Lokale Funktion' überein. Vorgeschlagener Name ist "Sache".

Es macht keinen Unterschied, wenn ich Thing auf Folgendes ändere:

%Vor%

Ich vermute, dass nur "öffentliche" Funktionen als Konstruktoren betrachtet werden. Weiß jemand von Ihnen, wie ReSharper zwischen einer "Local" - und einer "Constructor" -Funktion unterscheidet? Noch besser, weißt du, wie man dieses Verhalten überschreibt?

    
Jacob 25.06.2013, 18:10
quelle

2 Antworten

9

Nun, das ist ein Fehler in ReSharper. Sie können warten oder selbst reparieren. Oder definieren Sie es im globalen Bereich.

Übrigens, diese Funktionen machen sehr, sehr unterschiedliche Dinge. Sie wollen definitiv nicht den ersteren einen Konstruktor nennen.

    
Esailija 31.07.2013, 22:04
quelle
0

Wenn Sie möchten, dass Ihr Konstruktor öffentlich ist, können Sie diese Problemumgehung verwenden:

%Vor%

Oder wenn Sie nicht möchten, dass sich Nachschärfer über "ThisInGlobalContext" beschwert:

%Vor%

Bearbeiten

Da Ihre Klasse lokal sein muss, können Sie ein lokales Objekt verwenden, um den lokalen Konstruktor zu "speichern". Aber das ist wirklich nur ein Hack, um Resharper auszuschalten ...

%Vor%     
Johnny5 07.08.2013 21:14
quelle