2009-12-08 24 views
9

Ich habe eine große hohe Qualität C# Rahmenwerk Codebase, die ich trotzdem versuchen möchte, zu verbessern.Ist fxcop ein wertvolles/effektives Werkzeug zur Verbesserung der Codequalität?

  1. Ist fxcop ein effektives Werkzeug zur Verbesserung von .NET Frameworks? Ich weiß, dass Microsoft das Tool intern verwendet, aber wie finden externe Benutzer es? Lohnend?

  2. Ich habe bereits eine zillion Zeilen Code und einen gut etablierten Stil, kann es an unseren Stil angepasst werden und dennoch eine gute Anleitung bieten?

  3. Grob, wie lange wird es dauern, um einzurichten? Stunden, Tage, Wochen? Werde ich früher oder später etwas Nützliches lernen?

Antwort

16
  1. Ja FxCop ist ein sehr wirksames Instrument zur Verbesserung der .Net-Code-Basen. Zusätzlich zu den vielen verschiedenen Arten von Fehlern (Globalisierung, Pin-Voices, Sicherheit, Performance) warnt es Sie auch vor verschiedenen Stilproblemen, die gegen Konventionen verstoßen. Und weisen Sie auf den gelegentlichen Rechtschreibfehler hin.
  2. FxCop ist sehr anpassbar. Sie könnten zum Beispiel alle Stilempfehlungen ausschalten und nur die Fehlerprüfung aktivieren. Das würde Ihnen sofort Vorteile bringen, ohne dass Sie Ihren Stil ändern müssen.
  3. Wirklich hängt davon ab, wie viel FxCop Sie aktivieren und wie groß Ihre Codebasis ist. Ich finde, dass es in meinen persönlichen Projekten selten mehr als eine Stunde dauert. Aber für ein großes Projekt würde ich einen Tag oder 2
+1

re Punkt 3, es kann helfen, einen oder zwei Tage in Bezug auf Aufwand zu ermöglichen, aber dies über eine Woche oder so von Echtzeit zu verbreiten, Es ist ziemlich schwer, einfach Platz zu nehmen und es zum ersten Mal richtig für ein Team zu machen. –

+0

Danke JaredPar und alle anderen. Sieht so aus, als würden wir dieses Tool ausprobieren. Wir sind nur nach der Veröffentlichung, also habe ich etwas Zeit für solche Dinge. – Paul

+0

BTW die Code-Basis hat Hunderte von Klassen, so ist es ziemlich groß. – Paul

1

planen Ich finde fxCop ein gutes Werkzeug, um einen Codierungsstandard zu erzwingen. Wenn Sie bereits Ihren eigenen Standard haben und ihn konsequent befolgen, sehe ich keinen Grund, sich zu ändern, noch mehr für so viele Codezeilen. Einrichten ist ziemlich einfach, laufen und reparieren alles ist etwas anderes.

4

Ja absolut. Ich habe es eineinhalb Jahre gebraucht. Es entdeckt alle möglichen Probleme und Probleme und es hat mir das eine oder andere beigebracht. Microsoft weiß in vielen Fällen am besten.

Einrichten ist nur eine Frage des Testens ein paar Kästchen und einige Build-Skripte zu ändern, lohnt sich die Mühe. Sie werden eine Menge daraus lernen, wenn Sie nach Entscheidungen suchen, die Sie nicht verstehen und aufgeschlossen bleiben.

2
  1. Es ist die meiste Zeit nützlich, nicht immer! (Sie müssen es nur für einige Kernprobleme ernst nehmen, wobei Sie Probleme auslassen, die sehr spezifisch für die Entwicklung von Code im Stil von Microsoft sind).

  2. Einige der Anweisungen, die von ihr gegeben werden, sind unabhängig vom Stil und hängen davon ab, ob Sie gute Programmierpraktiken befolgen oder nicht, also können Sie sich eine Anleitung dazu holen.

  3. Ich glaube nicht, Setup dauert viel Zeit, es sollte ein paar Stunden bei max.

Dank

0

Eine Alternative zu FxCop Regeln wäre das Werkzeug NDepend zu verwenden. Dieses Tool ermöglicht das Schreiben von Code-Regeln über C# LINQ-Abfragenwhat we call CQLinq.Haftungsausschluss: Ich bin einer der Entwickler dieses Tools

1) Mehr als 200 code rules sind standardmäßig vorgeschlagen. Sie machen das Tool effektiv, da sie eine breite Palette von Prüfungen abdecken (Codequalität, .NET Fx-Nutzung, Struktur, Design, Evolution, Änderungen, Deadcode, Namenskonventionen ...)

2) Anpassen bestehender Regeln oder Erstellen Sie Ihre eigenen Regeln ist einfach dank der bekannten C# LINQ-Syntax.

3) Regeln können verifiziert werden live in Visual Studio und zur Build-Prozesszeit, in einem generated HTML+javascript report. Dies ist einfach einzurichten, ein paar Stunden maximal.

3) bis Werde ich früher oder später etwas Nützliches lernen?

Lassen Sie uns Zitat dieser Tweet von Hakan Tuncer: It's amazing to see how much you can learn just by reading the ‪#NDepend‬ rules.Rule descriptions even contain references to blog links.

Verwandte Themen