Ich bin ein Absolvent der KI (ca. 2 Jahre) und arbeite für eine bescheidene Operation. Es liegt an mir (vor allem, weil ich der erste "Anwender" in der Abteilung bin), ein grundlegendes (lesenswertes?) Dokument mit C # -Codierungsstandards zu erstellen.
Ich denke, ich sollte erklären, dass ich wahrscheinlich der jüngste Software-Ingenieur bin, aber ich freue mich auf diese Aufgabe, da ich hoffentlich tatsächlich in der Lage sein könnte, etwas halb brauchbares zu produzieren. Ich habe eine ziemlich umfangreiche Suche im Internet durchgeführt und Artikel darüber gelesen, was ein Dokument mit Codierungsstandards enthalten sollte / nicht. Dies scheint ein guter Ort zu sein, um nach einigen Vorschlägen zu fragen.
Mir ist klar, dass ich möglicherweise eine Tür zu einer ganzen Welt der Meinungsverschiedenheiten über den „besten Weg, Dinge zu tun“ öffne. Ich verstehe und respektiere die unbestreitbare Tatsache, dass jeder Programmierer eine bevorzugte Methode zur Lösung jeder einzelnen Aufgabe hat. Daher möchte ich nichts so drakonisch Proskriptives schreiben, dass es das persönliche Flair unterdrückt, sondern versucht, eine allgemeine Methodik zu finden und zuzustimmen Standards (z. B. Namenskonventionen), um den Code einzelner Personen besser lesbar zu machen.
Also hier geht .... irgendwelche Vorschläge? Überhaupt irgendwelche?
p_strName
macht es 10% weniger schmerzhaft, wenn Sie gezwungen sind , mit einem solchen Gräuel zu arbeiten. : oIch würde Code Complete 2 hinzufügen zur Liste (ich weiß, Jeff ist hier eine Art Fan) ... Wenn Sie ein Junior-Entwickler sind, ist das Buch nützlich, um Ihre Gedanken so zu gestalten, dass die Grundlage für das Beste gelegt wird Code-Schreibpraktiken und Software-Erstellung gibt es.
Ich muss sagen, dass ich etwas spät in meiner Karriere dazu gekommen bin, aber es regelt viele der Arten, wie ich über Codierung und Framework-Entwicklung in meinem Berufsleben denke.
Ein Besuch lohnt sich;)
quelle
Die eigenen Regeln von Microsoft sind ein hervorragender Ausgangspunkt. Sie können sie mit FxCop erzwingen.
quelle
Ich wäre versucht, Microsoft StyleCop als Standard durchzusetzen. Es kann zur Erstellungszeit erzwungen werden. Wenn Sie jedoch über Legacy-Code verfügen, erzwingen Sie einfach die Verwendung von StyleCop für neuen Code.
http://code.msdn.microsoft.com/sourceanalysis
Schließlich wird es eine Refactor-Option zum Bereinigen von Code geben.
http://blogs.msdn.com/sourceanalysis/
quelle
Persönlich mag ich die, die IDesign zusammengestellt hat. Aber deshalb poste ich nicht ...
Das Knifflige in meiner Firma war, all die verschiedenen Sprachen zu berücksichtigen. Und ich weiß, dass meine Firma damit nicht alleine ist. Wir verwenden C #, C, Assembly (wir stellen Geräte her), SQL, XAML usw. Obwohl es einige Ähnlichkeiten bei Standards gibt, wird jeder normalerweise anders behandelt.
Ich glaube auch, dass höhere Standards einen größeren Einfluss auf die Qualität des Endprodukts haben. Zum Beispiel: Wie und wann Kommentare verwendet werden sollen, wann Ausnahmen obligatorisch sind (z. B. vom Benutzer initiierte Ereignisse), ob (oder wann) Ausnahmen im Vergleich zu Rückgabewerten verwendet werden sollen, wie kann objektiv bestimmt werden, was Controller-Code gegenüber Präsentationscode sein soll? usw. Versteh mich nicht falsch, es werden auch niedrige Standards benötigt (Formatierung ist wichtig für die Lesbarkeit!). Ich habe nur eine Tendenz zur Gesamtstruktur.
Ein weiteres zu beachtendes Element ist das Buy-In und die Durchsetzung. Codierungsstandards sind großartig. Aber wenn niemand mit ihnen einverstanden ist und (wahrscheinlich noch wichtiger) niemand sie durchsetzt, dann ist alles umsonst.
quelle
Da ich sowohl das für Philips Medical Systems veröffentlichte als auch das auf http://csharpguidelines.codeplex.com geschrieben habe, bin ich vielleicht etwas voreingenommen, aber ich habe mehr als 10 Jahre Erfahrung mit dem Schreiben, Verwalten und der Förderung von Codierungsstandards. Ich habe versucht, den einen CodePlex mit unterschiedlichen Meinungen zu schreiben, und den größten Teil der Einführung damit verbracht, wie man damit in Ihrer speziellen Organisation umgeht. Lesen Sie es und geben Sie mir Feedback .....
quelle
SSW-Regeln
Es enthält einige C # -Standards + noch viel mehr .... hauptsächlich für Microsoft-Entwickler
quelle
Ich bin anderer Meinung - solange er das Dokument erstellt, ist das Schlimmste, was passieren kann, dass es von allen vergessen wird.
Wenn andere Personen Probleme mit dem Inhalt haben, können Sie sie bitten, ihn zu aktualisieren, um zu zeigen, was sie bevorzugen. Auf diese Weise ist es von Ihrem Teller und die anderen haben die Verantwortung, ihre Änderungen zu rechtfertigen.
quelle
Ich habe kürzlich das Encodo C # Handbuch gefunden , das Ideen aus vielen anderen Quellen enthält (IDesign, Philips, MSDN).
Eine andere Quelle können Professional C # / VB .NET-Codierungsrichtlinien sein .
quelle
Ich bin ein großer Fan des Francesco Balena-Buches " Praktische Richtlinien und Best Practices für VB- und C # -Entwickler ".
Es ist sehr detailliert und deckt alle wesentlichen Themen ab. Es gibt Ihnen nicht nur die Regel, sondern erklärt auch den Grund für die Regel und bietet sogar eine Anti-Regel, bei der es zwei gegensätzliche Best Practices geben kann. Der einzige Nachteil ist, dass es für .NET 1.1-Entwickler geschrieben wurde.
quelle
Unser gesamter Codierungsstandard lautet ungefähr "Use StyleCop".
quelle
Siehe dies: http://www.noesispedia.com/post/2008/11/28/C-Coding-Guidelines-and-Best-Practices.aspx .
quelle
Ich muss das Dokument dotnetspider.com vorschlagen .
Es ist ein großartiges und detailliertes Dokument, das überall nützlich ist.
quelle
Ich habe Juval's schon einmal benutzt und das ist vorbei, wenn nicht übertrieben, aber ich bin faul und passe mich jetzt einfach dem Willen von Resharper an .
quelle
Sie können dies überprüfen. Die Top 7 Codierungsstandards und Richtliniendokumente für C # /. NET-Entwickler http://www.amazedsaint.com/2010/11/top-6-coding-standards-guideline.html hoffen, dass dies hilft
quelle
Ich denke, ich stimme den anderen Kommentaren hier zu, dass die bereits verlinkten MS-Richtlinien ein ausgezeichneter Ausgangspunkt sind. Ich modelliere meinen Code weitgehend nach diesen.
Das ist interessant, weil mein Manager mir in der Vergangenheit gesagt hat, dass er nicht besonders scharf auf sie ist: D.
Du hast eine lustige Aufgabe vor dir, mein Freund. Viel Glück und bitte fragen Sie, ob Sie noch etwas brauchen :)
quelle
Der Standard von Philips Medical Systems ist gut geschrieben und folgt hauptsächlich den Microsoft-Richtlinien: www.tiobe.com/content/paperinfo/gemrcsharpcs.pdf
Meine Standards basieren darauf mit ein paar Verbesserungen und einigen Updates für .NET 2.0 (der Philips Standard ist für .NET 1.x geschrieben und daher etwas veraltet).
quelle
Ich folge auch Resharper. Auch die im Scott Guthrie-Blog http://weblogs.asp.net/scottgu/archive/2007/10/08/october-8th-links-asp-net-asp-net-ajax-silverlight-and-net erwähnte Richtlinie .aspx und http://csharpguidelines.codeplex.com/releases/view/46280
quelle
In dem Code, den ich schreibe, befolge ich normalerweise die .NET Framework-Entwurfsrichtlinien für öffentlich zugängliche APIs und die Monocodierungsrichtlinien für private Mitglieder und Einrückungen . Mono ist eine Open-Source-Implementierung von .NET, und ich denke, diese Leute kennen sich aus.
Ich hasse es, wie Microsoft-Code Speicherplatz verschwendet:
Was Sie in Mono-Richtlinien vielleicht seltsam finden, ist, dass sie Tabulatoren mit 8 Leerzeichen verwenden. Nach einiger Übung stellte ich jedoch fest, dass es mir tatsächlich hilft, weniger verworrenen Code zu schreiben, indem eine Art Einrückungslimit erzwungen wird.
Ich mag auch, wie sie ein Leerzeichen setzen, bevor sie Klammern öffnen.
Aber bitte erzwingen Sie so etwas nicht, wenn Ihre Mitarbeiter es nicht mögen (es sei denn, Sie sind bereit, zu Mono beizutragen ;-)
quelle