2009-10-06 6 views
21

Gerade gefunden StyleCop, sieht aus wie etwas für meine Projekte wert. Dann habe ich herausgefunden, dass Sie es mit ReSharper verwenden können (ein Werkzeug, das ich auch nie benutzt habe). Also habe ich ReSharper, sowie StyleCop für ReSharper heruntergeladen. Ich bin nur ein wenig verwirrt darüber, aber:StyleCop vs ReSharper und allgemeine Fragen zum Coding-Stil

  1. Mit nur StyleCop installiert (keine ReSharper), ich bekommen, rief direkt an private Variablen in Code-Behind für die Bezugnahme. Es will, dass ich das stattdessen mache. Alles klar.

  2. Wenn ich nur ReSharper benutze, sagt es mir, alle 'diese' Anrufe zu entfernen, die ich gerade hinzugefügt habe. Welches ist besser?

  3. Wenn ich ReSharper + StyleCop für ReSharper benutze, sagt es mir jetzt, dass ich 'this' zu allen privaten Mitgliedsreferenzen hinzufügen soll (genau wie StyleCop ganz alleine). Nun möchte ich aber auch, dass ich "this" zu allen Steuerelementen hinzufüge, die ich von der ASPX-Seite referenziere (d. H. Label.Text = this.variable -> this.Label.Text = this.variable).

Ich bin so verwirrt. Was ist der beste Standard zu folgen? Oder mache ich es gerade so wie ich jetzt bin (Label.Text = Variable)?

+4

+1 zum Ausprobieren von ReSharper.Man könnte denken, dass die Foren von ihren Verkäufern gefüllt wurden, die all das Lob erhielten, aber es wird dem Hype (meistens) wirklich gerecht. Es hat seinen eigenen Tag hier, also vergessen Sie nicht, einige der "Best-of" zu lesen, um auf dem neuesten Stand zu sein: http://stackoverflow.com/questions/tagged/resharper –

Antwort

12

Der entscheidende Punkt ist Konsistenz. Ihre spezielle Formatierung in Bezug auf diesen Punkt hängt von persönlichen Vorlieben ab.

Bietet der zusätzliche Wortschatz zusätzliche Klarheit darüber, auf welche Variable Sie verweisen, oder verdeckt sie die Bedeutung, indem Sie die Seite mit zusätzlichem Text überfluten?

Dies ist ein Urteilsspruch. Sie erzwingen andere Regeln, die Sinn ergeben; Ein großer Teil von dem, was sie tun, ist jedoch, Konsistenz durchzusetzen. Wie @Martin sagte, können Sie Regeln deaktivieren, die für Ihren Workflow nicht sinnvoll sind.

2

Ich denke, es liegt an Ihnen, welche Konventionen Sie befolgen möchten (es ist eine Frage der persönlichen Vorlieben). Zumindest in ReSharper können Sie die Regeln so bearbeiten, dass bestimmte Warnungen/Hinweise nicht mehr angezeigt werden.

+0

Sie können anpassen, welche Regeln zu verwenden StyleCop Einstellungen Editor –

+0

Aber Sie können StyleCop Style nicht "verbiegen". (Wie erzwingen, dass "this" nicht vorangestellt wird, wenn lokale Anrufe getätigt werden.) –

10

Entschuldigung, wenn man an einem Team arbeitet, kommt es darauf an, die Politik zu verstehen; Schließlich arbeiten wir, um bezahlt zu werden!

Wenn die Person, die Ihre nächste Gehaltserhöhung entschieden StyleCop verwendet, dann Sie sollten immer auch die „dies.“ ebenfalls, wenn der Chef ReSharper verwendet Sie tun sollten, was ReSharper sagt.

Es gibt viel wichtigere Kriege, um dies zu gewinnen, z. 10.000 Zeilenklassen, übergroße Methode

Wenn Sie Glück genug sind zu entscheiden, welche Werkzeuge (und Codierungsstandards) selbst verwendet werden, dann würde ich einfach ReSharper wählen und das "clean code" Buch lesen.

0

Alte Post aber anscheinend noch gültig. Sie können neue benutzerdefinierte Regeln für StyleCop erstellen und eine vorhandene Regel übernehmen und in eine Ersetzungsregel umwandeln. Nicht super einfach, aber jeder Entwickler kann es über das SDK verwalten und die Regeln im Quellcode öffnen. Ich habe gerade eine benutzerdefinierte Regel erstellt, um die Syntax der Standard-Event-Handler zu akzeptieren, die mit einem Kleinbuchstaben beginnen.