So beheben Sie die Verletzung von StyleCop SA1305 (Ungarisch)

8

Mein Code enthält eine Variable namens "m_d3dDevice".

StyleCop beschwert sich über diesen Namen:

  

SA1305: Der Variablenname   'm_d3dDevice' beginnt mit einem Präfix   Das sieht nach ungarischer Schreibweise aus.   Entfernen Sie das Präfix oder fügen Sie es dem hinzu   Liste der erlaubten Präfixe.

(Hinweis: Ich habe SA1308 ("m_"), eine der wenigen Regeln, die ich nicht befolgen möchte, manuell deaktiviert.)

Ich kann "d3d" nicht als Ausnahme in der ungarischen Registerkarte zulassen, da es nur 1 oder 2 Char-Präfixe erlaubt und "d3" nicht helfen konnte. Ich habe alles versucht, was ich mir vorstellen kann, um "d3d" zu meiner CustomDictionary-Datei hinzuzufügen (und sowieso, dass die Dokumente bedeuten, dass CustomDict nicht für Regel 1305 verwendet wird).

Irgendwelche Vorschläge, um StyleCop diesen zu ermöglichen? Es ist eine Frage des Stolzes, jetzt nicht meine Variable F2 zu haben.

    
mpg 31.01.2011, 23:43
quelle

4 Antworten

6

Sie können sich StyleCop + ansehen. Es enthält flexible Benennungsregeln, die es ermöglichen, dass alle privaten Felder mit "m_" beginnen (oder was immer Sie möchten), anstatt die Namensüberprüfung zu deaktivieren (wie Sie es getan haben).

In Bezug auf "d3dDevice" - es ist ein sehr interessanter Fall. Logisch teilt es sich auf die folgenden Wörter - {"d", "3", "d", "Device"} oder {"d3", "d", "Device"}. Und das zweite "d" scheint nicht "camelNotation" zu folgen.

Ich bin jedoch der festen Überzeugung, dass die statische Analyse (insbesondere die Benennung) flexibel genug sein sollte, um die Bedürfnisse der Benutzer zu erfüllen. Zur Zeit kann StyleCop + Ihren Fall auf folgende Weise unterstützen - zum Beispiel können Sie der Namensvorlage für private Felder eine "Ausnahme" hinzufügen (so viele, wie Sie möchten), so dass sie wie folgt aussieht:

  

m _ $ (aaBb)
  m_d3d $ (AaBb)

Dies ist eher eine Problemumgehung, aber ich werde über Ihren "d3d" -Fall nachdenken - und vielleicht wird StyleCop + so etwas unterstützen.

Danke für das interessante Beispiel!

    
Oleg Shuruev 01.02.2011, 05:16
quelle
11

Sie können Stylecop auch von Fall zu Fall unterdrücken. z.B.

%Vor%

Dies ist vielleicht keine attraktive Option, wenn Sie zahlreiche beleidigende Namen haben, aber für ein oder zwei ist es im Allgemeinen gut.

    
Derek Park 24.04.2013 17:38
quelle
1

Sie können auch Settings.StyleCop in den Paketdateien verwenden, um die Einstellungen zu konfigurieren.

Sie können bestimmte Wörter unterdrücken, indem Sie der Settings.StyleCop -Datei den folgenden Code hinzufügen:

%Vor%

Sie können die Hungarain -Regel selbst unterdrücken, indem Sie der Settings.StyleCop -Datei

Folgendes hinzufügen %Vor%     
7vikram7 10.08.2017 07:07
quelle
0

Das Hinzufügen von Unterdrückungsattributen sollte über alle Methoden erfolgen, was Zeit und einen langen Prozess erfordert.

Wenn Sie diese Regel aus Ihrem Projekt entfernen möchten, versuchen Sie dies

  • Klicken Sie mit der rechten Maustaste auf Ihr Projekt
  • Wählen Sie Stylecop-Einstellungen
  • Suchen Sie SA1305
  • Deaktivieren Sie die Regel aus der Ergebnismenge
  • Klicken Sie auf Anwenden - OK
  • Führe den Cop-Regeln erneut aus.
Kurkula 09.02.2017 20:27
quelle

Tags und Links