___ answer9040918 ___
Persönliche Erfahrung hier, aber ich schreibe immer Tests für solche Dinge. Ich analysiere meine Assemblies und stelle sicher, dass die Dinge den Konventionen folgen. Für einige spezielle Beispiele überprüfe ich WCF-Anfrage / Antwort-Objekte, um sicherzustellen, dass sie "DTO" nicht über die Leitung senden und sie sich alle in einem konsistenten XML-Namespace befanden.
Hier ist ein kurzes Beispiel, das sicherstellt, dass alle Servicemethoden etwas zurückgeben, das ein BaseResponse-Objekt erbt:
%Vor%
Ich bin sicher, dass jemand etwas besser / automatisierter haben wird, aber das hat für mich funktioniert.
___ tag123visualstudio ___ Verwenden Sie dieses Tag, wenn Sie eine bestimmte Frage zu Visual Studio-Funktionen und -Funktionen haben. Verwenden Sie diesen Tag NICHT bei Fragen zu Code, der nur zufällig in Visual Studio geschrieben wurde. Erwägen Sie, den genauen Technologiebereich zu markieren, auf den Ihre Frage verweist, und kennzeichnen Sie auch eine spezifischere Version von Visual Studio. Bitte geben Sie Ihre genaue VS-Version, Edition und Update-Ebene in Ihrer Frage an.
___ tag123visualstudio2010 ___ Visual Studio 2010 ist eine integrierte Entwicklungsumgebung (IDE) von Microsoft. Verwenden Sie dieses Tag nur für Fragen, die sich aus der Verwendung dieser speziellen Version von Visual Studio ergeben, und nicht für einen gerade darin geschriebenen Code.
___ qstnhdr ___ Statische Überprüfung auf Framework-Konventionen
___ tag123conventionoversconfiguration ___ hilf uns, dieses Wiki zu bearbeiten
___ qstntxt ___
Gibt es ein Produkt / Projekt, mit dem Sie Konventionen für zB ein MVC-Projekt definieren können, um statisch nach Benennungskonventionen wie Controller am Ende von Klassen zu suchen, die vom Controller erben und / oder eine bestimmte Methodensignatur beim Dekorieren erzwingen eine Methode mit einem Attribut.
Im Grunde bin ich auf der Suche nach einer Möglichkeit, einige Leitplanken für neue Entwickler einzurichten, die in unser Team kommen, wo wir eine Reihe von Konventionen haben, von denen einige dazu dienen, Dinge dynamisch durch Reflexion zu verknüpfen. Zu sehen, dass diese Reflexionsübertragung aufgrund einer inkompatiblen Signatur fehlschlagen würde, wäre ein großer Segen für unseren Hochlaufprozess.
Benötigte Schlüsselmerkmale:
- Statische / Kompilierzeitprüfung auf fehlerhafte Regeln
- Möglichkeit, Methoden mit bestimmten Attributen (über RegEx oder einen Assistenten) zu targetieren
- Unterschiedliche Regelsätze basierend auf verschiedenen Arten von Projekten. (Beispiel: Eine Reihe von Konventionen für eine MVC-Anwendung, eine andere Gruppe für eine Web Forms-Anwendung und eine andere Gruppe für eine Klassenbibliothek mit der Endung .BLL)
Alle Eingabevorschläge werden begrüßt, obwohl ich bitte, dass Sie nur antworten, wenn Sie wissen, dass diese Funktionen unterstützt werden.
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert.
___ tag123vbnet ___ Visual Basic.NET (VB.NET) ist eine verwaltete, typsichere, objektorientierte Computerprogrammiersprache mit mehreren Paradigmen. Zusammen mit C # und F # ist es eine der Hauptsprachen für .NET Framework. VB.NET kann als eine Weiterentwicklung von Microsoft Visual Basic 6 (VB6) betrachtet werden, ist aber auf dem Microsoft .NET Framework implementiert. Verwenden Sie dieses Tag NICHT für VB6-, VBA- oder VBScript-Fragen.
___