Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [C#] Benennungskonventionen in C# (https://www.delphipraxis.net/103655-%5Bc-%5D-benennungskonventionen-c.html)

Luckie 19. Nov 2007 10:17


[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();

Phoenix 19. Nov 2007 10:24

Re: [C#] Benennungskonventionen in C#
 
Hier ist ein Link zu einem C# Styleguide: http://www.csharpfriends.com/Article...?articleID=336

Etwas weiter unten steht auch was zu naming conventions.

OregonGhost 19. Nov 2007 10:30

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."

Luckie 19. Nov 2007 10:32

Re: [C#] Benennungskonventionen in C#
 
Das ist ja ein wirres Durcheinander von Pascal Casing und Camel Casing. Wer soll sich denn das merken? :roll:

OregonGhost 19. Nov 2007 10:38

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).

alzaimar 19. Nov 2007 10:56

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.

Jelly 19. Nov 2007 11:00

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.

alzaimar 19. Nov 2007 11:02

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]

Jelly 19. Nov 2007 11:04

Re: [C#] Benennungskonventionen in C#
 
Was .NET angeht, auf jeden Fall.
Aber in der Win32 Welt bleib ich bei Delphi.

OregonGhost 19. Nov 2007 11:12

Re: [C#] Benennungskonventionen in C#
 
Zitat:

Findet ihr das nicht nervig, das man auf einmal auf Groß/Kleinschreibung achten muss?
Ich habe jahrelang sowohl in Sprachen ohne Groß-/Kleinschreibung, u.a. Delphi und (ja, ich gebe es zu :P) Visual Basic, als auch in Sprachen mit Groß-/Kleinschreibung, u.a. C, C++, Java und C#, programmiert und muss sagen, dass Groß-/Kleinschreibung mehr zu Disziplin anhält. Wenn ich sehe, wie unübersichtliche Delphi-Quellcodes hier gepostet werden, die teilweise große und kleine Buchstaben vertauschen und ähnliches, bin ich ganz froh, dass ich primär in C++-ähnlichen Sprachen arbeite. Ich sehe keinen Vorteil darin, einen Bezeichner, der eigentlich PascalCasing ist, auch kleinschreiben zu können. Intellisense tut dazu das übrige.

Phoenix 19. Nov 2007 11:13

Re: [C#] Benennungskonventionen in C#
 
Zitat:

Zitat von alzaimar
Etwas OT...
Na ja, man gewöhnt sich an alles, aber *produktiver* wäre der Delphi (=Pascal)-Style.

Deswegen gibts für die .NET Welt ja auch taugliche Pascal-Alternativen zu C# von Drittanbietern.

Elvis 19. Nov 2007 12:41

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:

Zitat von Phoenix
Zitat:

Zitat von alzaimar
Etwas OT...
Na ja, man gewöhnt sich an alles, aber *produktiver* wäre der Delphi (=Pascal)-Style.

Deswegen gibts für die .NET Welt ja auch taugliche Pascal-Alternativen zu C# von Drittanbietern.

Chrome wird es in der nächsten Version optional ermöglichen, dass falsche Groß-/Kleinschreibung zu einer Warnung führt...

Christian S. 19. Nov 2007 13:04

Re: [C#] Benennungskonventionen in C#
 
Zitat:

Zitat von alzaimar
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.

In C# finde ich das eigentlich gar nicht schlimm. Im Gegenteil, finde ich es ganz nett, ein Feld "foo" nennen zu können und die entsprechende Eigenschaft "Foo". Und IntelliSense korrigiert eigentlich eh schon die meisten Fehler. Viel fieser ist das in PHP, wo man Variablen nicht deklarieren muss und gar nicht merkt, dass man sich vertippt hat. :zwinker:


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