it-swarm-eu.dev

Empfohlene .NET / C # -Codierungsstandards?

Welche Codierungsstandards sind Ihrer Meinung nach für .NET/C # -Projekte wichtig? Dies kann alles sein, was mit lockigen Klammern, solchen Abständen und Pedanterie zu tun hat. Oder es könnten grundlegendere Fragen wie die zu vermeidenden Namespaces in .NET Framework, Best Practices für Konfigurationsdateien usw. sein.

Vermeiden Sie es, einen Beitrag zu erstellen, der lediglich die Folge eines anderen ist. Zum Beispiel wäre es in Ordnung, einen Beitrag zu haben, der sich auf geschweifte Klammern konzentriert. Wir brauchen keine zwei, um einen Stil gegen den anderen zu unterstützen. Die Idee ist nicht, für Ihren Haustierstandard zu stimmen, sondern zu konkretisieren, woran bei der Erstellung von Standards gedacht werden sollte.

19
RationalGeek

Hier ist das offizielle Microsoft-Handbuch zu Codierungsstandards für das .NET Framework Version 4.0.

Wenn Sie die ältere Version für 1.1 möchten, versuchen Sie hier .

Ich folge dem nicht unbedingt zu einem 'T', wie sie sagen. Im Zweifelsfall ist dies jedoch der beste Ort, um mit dem aktuellen .NET-Framework konsistent zu werden, was es für alle einfacher macht, unabhängig davon, ob sie neu in Ihrem speziellen Projekt sind oder nicht.

29
Ryan Hayes

Vielleicht möchten Sie einen Blick auf StyleCop werfen. Sie können es sogar in einige Build-Systeme integrieren, sodass Stilfehler den Build beschädigen. Die Standardeinstellungen stimmen größtenteils mit den Vorschlägen von MS für Richtlinien überein (wie von anderen veröffentlicht).

Sie können auch die Regeln ändern, mit denen es standardmäßig geliefert wird.

10
Steven Evers
6
ysolik

Wir haben dies in unserem Büro übernommen. Es wurde von Lance Hunt geschrieben und ist ziemlich umfassend:

http://weblogs.asp.net/lhunt/pages/CSharp-Coding-Standards-document.aspx

5
CokoBWare

Beginnen Sie mit FxCop . Hier erfahren Sie, welche Best Practices in Ihrem vorhandenen Code verletzt wurden.

4

Ich muss die von SSW (einem australischen Beratungsunternehmen) zur Verfügung gestellten Standards empfehlen.

Nicht nur Codierung, sondern auch Projektmanagement usw. Eine unglaublich wertvolle Ressource.

http://www.ssw.com.au/ssw/standards/default.aspx

2
davewasthere

Methoden sollten kurz sein

Die meisten Methoden sollten die meisten Felder in einer Klasse verwenden.

Wählen Sie Ihre Namen gut.

Lesen Sie beispielsweise das Buch Clean Code

2
Ian

Ich verwende die folgenden Anwendungen, um neben Camelback-Regeln, Methodennamen usw. einen Codierungsstandard beizubehalten.

GhostDoc - Fügt jeder Methode oben einen automatisch generierten Kommentar hinzu. Die Anwendung bietet eine gute erste Zusammenfassung der Methode. (kostenlos)

http://submain.com/products/ghostdoc.aspx

Resharper - Code-Analyse und Refactoring http://www.jetbrains.com/resharper/

StyleCop - Als letzte Bereinigung, bevor ich bei TFS einchecke. (kostenlos)

http://code.msdn.Microsoft.com/sourceanalysis

2
Nickz

Ich versuche, einen gemeinsamen Satz von Stilen aus verschiedenen Quellen auszuwählen. Einige, die vorher nicht erwähnt wurden:

2
alexandrul

Ich hasse etablierte Codierungsstandards, sie alle befassen sich entweder damit, Ihnen zu sagen, dass Sie nicht ein paar dumme Fehler machen sollen, oder Ihnen zu sagen, wie Sie Ihren Code auf die eine oder andere Weise formatieren sollen. All dies sind Kleinigkeiten.

Ich meine, sie werden Ihnen sagen, wie viele Leerzeichen zwischen Operatoren eingefügt werden sollen, wie Ihre Variablen in Groß- und Kleinschreibung gesetzt werden sollen, welche Präfixe im ungarischen Stil verwendet werden sollen (z. B. _ für Mitglieder), widersprüchliche Ratschläge (z. B. Sie können keine Klasse Cxyz aufrufen, aber Sie - muss eine Schnittstelle Ixyz aufrufen), wie Sie Ihren Code gestalten (setzen Sie Ihre Variable oben in die Klasse oder unten)

Alle sind im Großen und Ganzen nutzlos.

Was wichtig ist, um effektiven, wartbaren und lesbaren Code zu schreiben, wird in diesen Standards nie erwähnt.

Zum Beispiel: Platzieren Sie Ihre Variablen oben oder unten in Ihrer Klasse? Nun, wen interessiert das? Was zählt, ist, wenn Sie Ihre Variablen nach Funktionsbereichen gruppieren. Das ist wichtig (Sie werden es wissen, wenn Sie jemals 20 Variablen gesehen haben, die über den Ort verstreut sind).

Sie fordern Sie auf, Ihre geschweiften Klammern an bestimmten Stellen zu platzieren. Große Sache! Ich kann Code sowohl in K & R- als auch in ANSI-Klammern lesen, das spielt keine Rolle. Was wichtig ist, ist, wenn alle Window-Klassen irgendwie differenziert sind (wie das Suffixieren mit Form oder Dlg oder was auch immer), damit Sie sehen können, welche Dateien Fenstercode enthalten und welche gewöhnliche Objekte sind.

Solche Dinge sind weitaus wichtiger als die kleinen Punkte, die Standards normalerweise enthalten. Ich weiß nicht, warum sie sich so entwickelt haben, aber oft sind es nur eine Menge Regeln, die einer effektiven und produktiven Codierung im Wege stehen.

Meine Standards versuchen, sich mehr auf die Organisation von Code und Dateien zu konzentrieren. Wir haben bestimmte Standards, die sich darauf beziehen, wo Dateien gefunden werden. Zum Beispiel können sich Nicht-Entwickler eines unserer Projekte ansehen und sofort die benötigten Dokumentationsdateien abholen. In ähnlicher Weise versuchen wir, den Projektcode so ähnlich wie andere Projekte wie praktisch zu gestalten (Hinweis: als praktisch, nicht in einer stark verbotenen Weise, die möglicherweise nicht immer angemessen ist), und im Grunde versuchen wir, Richtlinien für Standards zu erstellen, die dies tun kann nach Bedarf geändert werden.

Kurz gesagt - sie sind da, um uns bei der Zusammenarbeit zu helfen, nicht als eine Reihe restriktiver Regeln, die immer müssen befolgt werden müssen.

1
gbjbaanb

Warnung: Pragmatismus unten - Die Frage scheint so formuliert zu sein, dass eine Debatte über den "richtigen" Stil der geschweiften Klammer usw. ausgelöst wird, die ich nicht ertrage Zeitverschwendung für diesen Unsinn.

  1. Installieren Sie ReSharper , belassen Sie die Standardeinstellungen und tun Sie, was immer es sagt.

  2. Gewinn - Jeder in Ihrem Team wird den gleichen Stil haben, der den Microsoft-Richtlinien verdammt nahe kommt, und nur in einigen Punkten abweichen, in denen Resharper-Standards das widerspiegeln, was in der Industrie tatsächlich am weitesten verbreitet ist und (wohl) Verbesserungen sind.

Je weniger Zeit Ihr Team damit verbringt, ein riesiges Dokument oder Buch zu erstellen und zu referenzieren oder sich über das curly braces und andere Irrtümer, je mehr Codierung sie erledigen werden. ReSharper erzwingt die Benennung und den Stil während der Eingabe. Erledigt. Ende der Debatte. Nichts mehr zu streiten. Weitermachen.

Das Lesen des Klassikers Code Complete hilft ihnen jedoch dabei, die Gründe für die Codierung von Standards zu verstehen, und bietet viele gute Hinweise zur effektiven Vermittlung von Bedeutung durch den Code - etwas, was ein Standarddokument oder ein Inspektionsprogramm nicht kann .

Wenn Sie die Möglichkeiten von Resharper verbessern möchten, fügen Sie StyleCop mit dem Plug-In StyleCop for ReSharper hinzu. Wie bereits erwähnt, gibt es einige kleinere Konflikte zwischen den MS-Richtlinien und den ReSharper-Standardeinstellungen. Ich würde einfach mit ReSharper auf diese gehen. Unabhängig davon, auf welcher Seite Sie sich befinden, speichern Sie die Ergebnisse in der ReSharper-Konfigurationsdatei, geben Sie sie für Ihr Team frei und fertig.

(Nein, ich bin kein bezahlter Shill für ReSharper, nur ein zufriedener Kunde. Zusätzlich zu seinen vielen anderen Funktionen verarbeitet es Grundlegende Stilprobleme sind kostengünstiger als jedes Standarddokument oder Code-Überprüfungssystem - so bleibt die Intelligenz für wichtige Dinge.)

1
DanO