3

StyleCop (4.7.14.0) hat die Einstellung "Analyse Designer-Dateien" standardmäßig aktiviert, und ich würde gerne wissen, ob es Gründe gibt, die Code-Style-Checks für eine Designer-generierte Datei rechtfertigen würden.Warum "Analyse Designer-Dateien" ist der Standard für StyleCop?

Ich verstehe, dass ich (und wie) die Prüfung dieser Dateien deaktivieren kann (ich überlege, dies zu tun), aber die Frage ist, warum wäre es die Standardeinstellung, diese zu analysieren?

Sind diese Dateien nicht in Ruhe? Warum sollten wir versuchen, sie StyleCop-konform zu machen?

+0

Es ist der Microsoft Standard. Nicht deine, du kannst nichts dagegen tun. –

+0

@HansPassant Nun, ich kann es ändern und es wird in der 'Settings.StyleCop' Datei gespeichert, die projektweit von jedem benutzt wird, der den Code auscheckt, wenn Sie das meinen. Aber ich würde gerne wissen, ob es einen Grund dafür gibt (denn eigentlich sind die '* .designer.cs' Dateien standardmäßig nicht StyleCop-konform). Es scheint merkwürdig, da die StyleCop-Entwickler sicher wissen, was passiert, wenn man sie in der Standardeinstellung belässt (und die einzigen Online-Diskussionen scheinen zu sein, wie man diesen Standard ändert, nicht, warum er überhaupt existiert). –

Antwort

0

Der Hauptgrund, an den ich denken kann, ist, dass es keine absolute Garantie gibt, dass eine Datei mit 'Designer' im Namen nur automatisch generiert wird.

In diesen Tagen der starken Trennung und der Fähigkeit, ausführliche und klare Namen zu verwenden, ist es wahrscheinlich nur die Vorsicht.

Aber ich stimme zu, wenn Sie sicher sind, dass sie immer automatisch generiert werden, dann sollten Sie nicht versuchen, sie zu bereinigen.

OTOH, mein Dynamics CRM-Server erzeugt eine 12-MB-XRM-Referenzdatei, daher tendiere ich dazu, diese zu trimmen!

+0

Nun, das Suffix muss '.Designer.cs' sein, so würde zum Beispiel' WebDesigner.cs' nicht als Designerdatei betrachtet. Ich bezweifle wirklich, dass Leute Dateien wie 'MyClass.Designer.cs' nennen würden. Wenn Sie eine Datei mit dem Namen 'Designer.cs' haben, würde sie nicht das vollständige Suffix haben, also bin ich mir ziemlich sicher, dass es auch nicht ignoriert wird. Ich bin ein wenig neugierig darauf, was Sie tun, um eine 12-MB-Datei aufzuräumen. –

+0

Eine Sache ist das Entfernen der Klasse zu CRM-Funktionen, die ich nicht verwende, obwohl das eine ziemlich seltene Sache ist; Am wichtigsten ist es, partielle Klassen zu implementieren, so dass ich die benötigte Funktionalität in mehrere Dateien aufteilen kann, die den Compiler/Resharper nicht einzeln blockieren. –

1

Es kann wünschenswert sein, generierten Code nach den gleichen Standards zu halten wie manuell erstellter Code. Zugegeben, für reine "Code-Style" -Themen, wie sie von StyleCop abgedeckt werden, ist dies tendenziell weniger wichtig als für "Korrektheitsprobleme", die von Tools wie FxCop abgedeckt werden, aber es kann immer noch zwingende Gründe geben, vom Tool generierten Code zu überprüfen Probleme. z.B .:

  1. Wenn das Werkzeug, das den Zielcode erzeugt ein Werkzeug, das ein Autor hat, dann ist es nicht ungewöhnlich, es nach den gleichen Standards zu halten, wie manuell Code geschrieben. Dies ist schließlich ein Fall, in dem man die volle Kontrolle über Inhalt und Stil des generierten Codes hat.

  2. Aus praktischen Gründen könnte das Tool jederzeit nach der Generierung des Codes entfernt oder deaktiviert werden. In diesem Fall wird der Code manuell verwaltet. Wenn Stilregeln durchgesetzt werden, um die Lesbarkeit und Wartbarkeit zu verbessern, ist es möglicherweise nicht wünschenswert, generierten Code zu sehr von Codierungsstandards abzuweichen.

+0

Das klingt nach einem wahrscheinlichen Szenario, nämlich nach der Art des Codes, der von einem selbst erstellten Tool generiert wird.Aber so seltsam es auch erscheinen mag, die Standardeinstellungen lauten "Check' .designer.cs' Dateien, aber überprüfe '.generated.cs' Dateien nicht" (also wird der Stil des Codes, den das Tool generiert hat, explizit nicht überprüft, und überprüft stattdessen den Windows Forms Designer-Code). –

Verwandte Themen