![]() |
[C#] Benennungskonventionen in C#
Ich hätte mal eine Frage, wie sieht es mit Benennungskonventionen bei C#. In Delphi mache ich es eigentlich nur bei Komponenten (btn..., lbl, lb.., gb...). Unter C und C++ hat man ja die Ungarische Notation favoritisiert. Wie sieht es da bei C# aus? Mir ist aufgefallen, dass meist die erste Silbe klein geschrieben wird. Klassennamen groß anfangen und Objekte dieser klasse dann genauso heißen, aber klein geschrieben werden.
Beispiel:
Code:
class PersonenListe
{ private List<Person> innerList; public PersonenListe() { innerList = new List<Person>(); } public void Add(Person person) { innerList.Add(person); } public Person Items(int index) { get{return innerList(index);} } }
Code:
PersonenListe personenListe = new PersonenListe();
|
Re: [C#] Benennungskonventionen in C#
Hier ist ein Link zu einem C# Styleguide:
![]() Etwas weiter unten steht auch was zu naming conventions. |
Re: [C#] Benennungskonventionen in C#
Im Windows SDK bzw. .NET Framework SDK (je nachdem, was du benutzt) findest du unter Design Guidelines for Developing Class Libraries den Styleguide, den Microsoft dem .NET Framework zugrunde gelegt hat. Einschließlich übrigens (in Fettschrift): "Do not use Hungarian notation."
|
Re: [C#] Benennungskonventionen in C#
Das ist ja ein wirres Durcheinander von Pascal Casing und Camel Casing. Wer soll sich denn das merken? :roll:
|
Re: [C#] Benennungskonventionen in C#
Ich finde das eigentlich ganz ok. Vereinfacht ist es ja so, Typen PascalCasing, öffentliche Member PascalCasing, alles private, geschützte, lokale camelCasing. Wobei man da übrigens auch häufig die Variante findet, in der, u.a. aus Rücksicht auf VB-ler oder Delphianer, und auch um Fehler zu vermeiden, zusätzlich zum camelCasing für privates ein Unterstrich vorangestellt wird (vergleichbar dem klassischen Präfix m_ für Member).
|
Re: [C#] Benennungskonventionen in C#
Etwas OT...
Findet ihr das nicht nervig, das man auf einmal auf Groß/Kleinschreibung achten muss? Unter Delphi kannste SChnell tiPPen und kompilieren tut das trotzdem. Hinterher durch einen Beautifier gejagt und alle sind zufrieden. Unter C# darf man sich mit der korrekten Gross/Kleinschreibung rumärgern. Na ja, man gewöhnt sich an alles, aber *produktiver* wäre der Delphi (=Pascal)-Style. |
Re: [C#] Benennungskonventionen in C#
Gewöhnungssache.
Was C# angeht, mag ich Delphi überhaupt nicht, weil mir die Codevervollständigung entweder einfach zu langsam oder einfach nicht ausreichend ist... In VS kriegst du das Ganze GROSS und Kleingeschreibe nicht wirklich mit, weil dir bei alles was du eintippst sofort über Intellisense die möglichen Variablen vorgegeben werden, und nicht erst nach Drücken von CTRL-SPACE und 3 Sekunden warten. Ich fand das Ganze anfänglich auch sehr störisch, mittlerweilen komm ich aber damit sehr gut klar. |
Re: [C#] Benennungskonventionen in C#
Aha, Praxis schlägt also Theorie.... Ich fange gerade mit VS an und staune wirklich über die Performance. Ernsthafte Konkurrenz zu Delphi... [/OT]
|
Re: [C#] Benennungskonventionen in C#
Was .NET angeht, auf jeden Fall.
Aber in der Win32 Welt bleib ich bei Delphi. |
Re: [C#] Benennungskonventionen in C#
Zitat:
|
Re: [C#] Benennungskonventionen in C#
Zitat:
|
Re: [C#] Benennungskonventionen in C#
Das Ganze ist einfacher, als OregonGHost schrieb.
Die API Guidelines interessieren sich einen Feuchten für öffentlich nicht sichtbare Bezeichner. Warum? Sieht keiner! :mrgreen: Alle öffentlichen Bezeichner außer Parameter werden in PascalCasing verfasst, Parameter in camelCasing. Wie du deine Felder benennst hängt alleine von dir, der Stellung des Mondes zum Jupiter, oder firmeninternen SOPs ab. Der einzige Präfix, der in öffentlichen Bezeichnern erlaubt ist, ist das "I" bei Interfaces. Weder Parameter noch Typen bekommen einen Präfix, erst recht keine Enums! (Wer Enums mit solchen Delphi/Win32-like Präfixen verpasst, frisst auch kleine Kinder und kann/wird als potenzieller Kinderesser verfolgt werden...) Zitat:
|
Re: [C#] Benennungskonventionen in C#
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz