Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   C# Variablennamen in C# (https://www.delphipraxis.net/64044-variablennamen-c.html)

Pseudemys Nelsoni 26. Feb 2006 17:18


Variablennamen in C#
 
Moin,

Wie würdet ihr ein Objekt der Klasse "Me" nennen?

In Delphi hätte ich die Klasse schlicht "TMe" und das Objekt "Me" genannt.... Nun denn, dem Styleguide nach soll eine Klasse keinen Prä-/Suffix haben... Wie würdet ihr hier das Objekt der Klasse nennen? Ich brauch da nur mal nen Tipp, ist mir schon klar, dass ich alles als Namen nehmen kann...

Christian S. 26. Feb 2006 17:25

Re: Variablennamen in C#
 
Hm. Kommt doch irgendwie immer auf den aktuellen Fall an. Wenn ich eine Klasse "Auto" habe, dann kann ich die Instanzen "Opel" und "Ford" nennen. Wenn eine Instanz gerade keine besondere Bedeutung hat (also z.B. in einer foreach-Schleife) würde ich das Dingen "aAuto" (also "ein Auto") nennen.

Weiß allerdings nicht, ob das nach dem Styleguide ist. :gruebel:

Pseudemys Nelsoni 26. Feb 2006 17:29

Re: Variablennamen in C#
 
Moin Christian,

hm, das weiss ich leider auch nicht ;)

Im Styleguide steht:

Zitat:

Klassenvariablen und Parameter
Beim Benennen von Klassenvariablen und Parametern von Methoden sollten Sie folgende Regeln beachten.

Verwenden Sie beschreibende Namen, welche die Bedeutung (und eventuell auch den Typ) der Klassenvariable beziehungsweise des Parameters erklären. Geben Sie im Zweifelsfall der Bedeutung Vorzug vor dem Typ.
Verwenden Sie Camel casing für Klassenvariablen und Parameter von Methoden.
Hm. Ansonsten mache ich es wie Du ;)

Heffalump 26. Feb 2006 17:38

Re: Variablennamen in C#
 
Was stört Dich daran die Klasse weiterhin TMe zu nennen? Wichtig ist doch, das Du un Deine "Umwelt" damit arbeiten kann und das alles ordentlich dokumentiert ist.

Elvis 26. Feb 2006 17:53

Re: Variablennamen in C#
 
Zitat:

Zitat von Heffalump
Was stört Dich daran die Klasse weiterhin TMe zu nennen? Wichtig ist doch, das Du un Deine "Umwelt" damit arbeiten kann und das alles ordentlich dokumentiert ist.

Richtig, die Umwelt hält sich an die Richtlinien für .Net APIs. Somit werden TDingens und ähnliche hungarian "Encryptions" nicht gerade auf freundliche Resonanz stoßen. ;)

@Pseudo

Wo ist denn eigentlich dein Problem? Der Compiler der meisten .Net Spracen ist schlau genug um einen Typen von eine Variablen zu unterscheiden.
Das hier funktioniert absolut problemlos:
Code:
Miep Miep = new Miep();
Dank einer modernen IDE bekommst du auch für Typen ein anderes Highlighting als für die Variable. ;)

Pseudemys Nelsoni 26. Feb 2006 17:54

Re: Variablennamen in C#
 
Moin Heffalump,

ich halte mich immer gern an den Standard ;) Ich weiss, klingt doof ;)


@Elvis: Ah perfekt! Der Delphi-Compiler war eben nire so schlau, deshalb wusste ich das nicht *g*.

Wie sieht das mit dem Zugriff auf die Variable aus? Was hat Vorrang, Klasse oder Objekt? Wenn ich z.b Miep. schreibe, bekomme ich dann die Klassenmethoden der Klasse oder die Felder des Objekts?

Elvis 26. Feb 2006 18:00

Re: Variablennamen in C#
 
Zitat:

Zitat von Pseudemys Nelsoni
Wie sieht das mit dem Zugriff auf die Variable aus? Was hat Vorrang, Klasse oder Objekt? Wenn ich z.b Miep. schreibe, bekomme ich dann die Klassenmethoden der Klasse oder die Felder des Objekts?

Beides...
Es wird einfch immer die passende Verwendung gesucht. Da es C# sowieo nicht verkraftet wenn eine gleichnamige Methode als statisch und als instanz mit gleicher Signatur exitiert, kannst du dich da auch nicht verhaspeln.

Pseudemys Nelsoni 26. Feb 2006 18:03

Re: Variablennamen in C#
 
Danke :D

Christian S. 26. Feb 2006 18:11

Re: Variablennamen in C#
 
Und wenn Du mal nicht sicher bist, was der Compiler meint, was verwendet wird: Maus drüber halten, Hint zeigt an, was es ist ;-)

Pseudemys Nelsoni 26. Feb 2006 18:26

Re: Variablennamen in C#
 
Wird gemacht! :). Danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:15 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz