Feedback: StyleCop Einsatz / Meine Meinung zu einzelnen Regeln

03/04/2010 - 17:16 von Konrad Neitzel | Report spam
Hallo zusammen,

bezüglich StyleCop möchte ich der Newsgroup nun doch auch noch ein Feedback
geben.

Eingesetzte Tools sind bei mir:
- Visual Studio 2010 Prof RC
- StyleCop (v4.3.3 von http://code.msdn.microsoft.com/sourceanalysis)
- (ReSharper - aber das Tool spielt hier keine große Rolle)

Nach den Hinweisen im anderen Thread habe ich auch einige Zeit in StyleCop
investiert und fand das Tool eigentlich ganz brauchbar. Nach der
Installation hat sich das Tool in Visual Studio integriert und man kann
einzelne Files oder auch eine ganze Solution scannen lassen. Der erste Scan
auf einem bestehenden Projekt kann zwar sehr erschreckend sein, da sehr
viele Meldungen kommen.

Ich habe mir den Spaß erlaubt, und meine Projekte so umgestellt, dass die
Fehler/Warnungen (größtenteils) verschwunden sind und mein Fazit aus dieser
Aktion (um es vorweg zu nehmen) ist durchaus positiv: ich werde das Tool
weiter verwenden, auch wenn die Verànderungen nicht so gravierend waren.

Bedienung von StyleCop:
- Aufruf vom StyleCop kann einfach über das Kontext Menü erfolgen. Hierzu
finden sich Eintràge im Kontext-Menü der Solution, des Projektes und vom
Editor. (Ich scanne immer die ganze Solution bzw. beim Ausbessern immer
wieder das File im Editor!)

Der zweite, sehr wichtige Punkt bei der Bedienung von StyleCop findet sich
Kontext-Menü des Projektes: "StyleCop Settings". Hier làsst sich auf
einfache Art und Weise (für das Projekt) einstellen, welche Regeln StyleCop
scannen soll.

Regeln, die ich nicht gut finde und abgeschaltet habe:

SA1309: Variablen dürfen nicht mit einem _ anfangen. Diese Regel habe ich
ausgeschaltet, da ich Variablen, die in Properties benutzt werden, mit einem
_ anfangen lasse.

SA1101: Lokale Member mit this. ansprechen. Dies finde ich einfach
übertrieben und habe es daher in meinem Code nicht und will es nicht.

SA1503: { } dürfen nicht weggelassen werden. Dies macht aber den Sourcecode
deutlich unleserlicher, so dass ich auf diese Regel auch verzichtet habe.

Über einige andere Regeln kann man geteilter Meinung sein. So erzwingt
StyleCop Kommentare, was ich gut finde. Jedoch wird der Wortlaut auch
teilweise mit festgelegt. So muss ein Konstruktor immer Anfangen mit
"Initializes a new instance of the <see cref="NameOfClass"/> class." und
Properties mit "Gets or sets". Ich habe dies aber einfach einmal so
umgesetzt, da ich die Kommentare ehh immer in Englisch schreibe und daher
keine zu großen Änderungen durchzuführen hatte.

Ein Punkt, der mir nicht wirklich an dem Tool gefàllt ist das Handling der
Einstellungen. Diese werden in einer Datei Settings.StyleCop im Projekt
gespeichert. Ich habe diese mit in die Sourceverwaltung aufgenommen (TFS),
aber bei Verànderungen stolpert er über den Schreibschutz und checkt die
Datei nicht automatisch aus. (Nicht so wild, da man nicht so oft etwas
veràndern wird denke ich mal.)

Ich habe auch Tests gemacht, dass ich die Datei mit den Einstellungen in die
Solution getan habe, und diese Datei nur in die Projekte verlinkt habe. Dies
hat scheinbar bezüglich der Checks funktioniert, nur die Settings ließen
sich dann über das Projekt auch nicht mehr bearbeiten.

Die vorgesehene Lösung ist hier scheinbar, dass man in jedem Projekt eine
entsprechende Config liegen hat, in denen dann auf die Einstellungen einer
globalen Datei verwiesen wird. (Den Link, wo ich das gefunden habe, habe ich
aber gerade nicht zur Hand, sorry!)

Ich selbst finde das Tool somit durchaus brauchbar und werde es weiter
verwenden. Bezüglich des ReSharper AddIns hatte ich aber bisher keinen
Erfolg, wobei dies natürlich noch ein zusàtzlicher Bonus wàre - StyleCop
checks on the fly ohne die Aufrufe. Aber zuviel Luxus würde mich ja nur
verwöhnen und ich brauche ja noch etwas, was mich die nàchsten Tage
beschàftigen wird :).

Ich hoffe, dass dies für den einen oder anderen etwas interessant war und
vielleicht will ja der eine oder andere auch einmal einen Blick darauf
werfen.

Ich wünsche ein schönes Osterfest.

Mit den besten Grüßen,

Konrad
 

Lesen sie die antworten

#1 Immo Landwerth
04/04/2010 - 13:11 | Warnen spam
Konrad Neitzel wrote:

bezüglich StyleCop möchte ich der Newsgroup nun doch auch noch ein
Feedback geben.



Danke! :-)

Ich wünsche ein schönes Osterfest.



Ebenfalls.

Immo Landwerth

Ähnliche fragen