Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

11

28.06.2014, 22:28

Blue hat gesprochen.

Ich halte das mit dem this vor jeder einzelnen Variable einer Klasse für völlig überzogen. Früher hatte ich auch ein m_ davor. Völlig überflüssig, da die IDE sowieso farblich markiert was wohin gehört.
Und selbst wenn nicht, normalerweise schreibt man doch eher eine Klasse am Stück und weiß dann noch was wohin gehört. Wenn nicht liest man sich dann auch ein bevor man weitermacht (oder modifiziert).
Jedes mal ein this oder this-> davor zu schreiben ist auch anstrengend, oder nicht?

Zumindest ähnliches mache ich auch ähnliches bei Methodennamen: so kurz und eindeutig wie möglich!
Wenn die Klasse einen offensichtlichen Zweck erfüllt sind Namen wie set und get kein Problem (Container z.B.).

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

12

28.06.2014, 23:02

Ich finde, es gibt dem Ganzen mehr Struktur. "anstrengend" würde ich es nicht bezeichnen. Ich mache es halt so, wie ich es am besten Arbeiten kann. Ich habe mir das vor einigen Jahren so angewöhnt, als ich mich auf einen konsequenten Stil festlegen wollte. Und "in der Wirtschaft" wird zum Teil auch nach eigenen Konventionen gearbeitet. Jedenfalls in C(++). Die Sache mit dem "this" würde ich jetzt da auch eher weniger rechnen. Kurzen Namen stehe ich auch kritisch gegenüber. "Set" und "Get" fände ich zwar total ok, weil das eigentlich alles aussagen kann, aber andernfalls ich habe eine abgrundtiefe Abneigung dagegen, wenn man wegen unzureichend präziser Bezeichung dauernd in die Doku schauen muss. Auf neue Funktionen im Stil von "wcspbrk"(C-Stdlib) kann ich auch gut verzichten. In C++ würde ich anstatt "Get" und "Set" auch lieber die passenden Operatoren überladen. Kürzer geht es nicht.

Visual Studio markiert bei mir übrigens gar nichts. Man kann es zwar sicher irgendwie einstellen, zumindest mit passenden Plugin. Bei mir aber nicht standardmäßig.

Toemsel

Treue Seele

Beiträge: 310

Wohnort: OÖ

Beruf: Student und Programmierer

  • Private Nachricht senden

13

29.06.2014, 01:41

@Spiele Programmierer
Welche VS Version verwendest du? Die Intellisense von Visual Studio zeigt dir Variablen/Methoden/Funktionen/Extentions/Private/Public/etc. jeweils mit einem anderem Symbol an.

Zitat

Und "in der Wirtschaft" wird zum Teil auch nach eigenen Konventionen gearbeitet
Natürlich, stimme dir vollkommen zu. Was ist jedoch wahrscheinlicher. Dass der adaptierte Style Guide deinem, oder dem "Standard" ähnlich sieht?
Zudem nutzen viele Plugins (z.B GhostDoc, Resharper etc) die Microsoft Konvention um ihre Inhalte einzufügen. Kommentare werden je nach CamelCase generiert. Generierte Properties, Variablen, Methoden etc. nehmen automatisch die Microsoft Konvention an. (Kann eingestellt werden, jedoch eine heiden Arbeit)

Zitat

"Set" und "Get" fände ich zwar total ok
Das entspricht der Java Konvention. (GetId, SetName etc.) In C# sind die Properties keine Methoden, sondern Properties.
Die werden im Intellisense auch dementsprechend dargestellt. Deshalb ist das schreiben von "Get" und "Set" auch vollkommen unnötig und gegen die Konvention.

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

14

29.06.2014, 01:50

Ja gut ich habe das mit dem get und set nicht explizit auf getXYZ bezogen, sondern nur als Beispiel für Eindeutigkeit genutzt.
Wenn ich eine Klasse "IntVector" habe ist es albern getInt als Member zu definieren. Da reicht auch ein get.

Stil hat halt auch viel mit Gewohnheit zu tun.

Techie

Alter Hase

  • »Techie« ist der Autor dieses Themas

Beiträge: 717

Wohnort: Bayreuth

Beruf: Student | Hilfswissenschaftler in der Robotik

  • Private Nachricht senden

15

30.06.2014, 16:57

Moment, Was zu Hölle ist passiert? Ich habe andreas.wagner auf meine Ignoreliste gesetzt und plötzlich ist meine Antwort ein eigener Thread? Waat?

Ich habe das eigentlich nur als Antwort auf andreas' Code geschrieben.
I write my own game engines because if I'm going to live in buggy crappy filth, I want it to me my own - Ron Gilbert

Hello_Kitty!

unregistriert

16

30.06.2014, 17:15

Moment, Was zu Hölle ist passiert? Ich habe andreas.wagner auf meine Ignoreliste gesetzt und plötzlich ist meine Antwort ein eigener Thread? Waat?

Ich habe das eigentlich nur als Antwort auf andreas' Code geschrieben.


Bug in der Forensoftware, passiert hier öfters. Manchmal gehen auch Beiträge einfach verloren und keiner weiß warum! :dead:

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

17

30.06.2014, 17:26

Kleiner Hinweis am Rande: Mit dem _ als Präfix muss man in C++ streng genommen sehr vorsichtig sein. Sofern nach dem _ ein Kleinbuchstabe folgt, ist alles OK (so lange man nicht im globalen namespace unterwegs ist), Namen die mit _ gefolgt von einem Großbuchstaben beginnen, sind aber für die Implementierung reserviert und das Verhalten jedes Programmes, das solche Namen verwendet, ist undefiniert. Selbiges gilt für Namen, die einen doppelten Underscore enthalten.

Edit: Und ja, das betrifft ganz besonders auch die Namen von Makros. Ich bin schon über die ein oder andere IDE gestolpert, die zwar das tolle Feature autogenerierter Include Guards anbietet, welche dann aber per Default gegen den Standard verstoßen...

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

18

30.06.2014, 17:45

Moment, Was zu Hölle ist passiert?
Das gesamte Thema ging ab Deiner Antwort offtopic. Es wurde daher alles abgespalten.

Bug in der Forensoftware, passiert hier öfters.
Unfug. Du wurdest gewarnt, dass Deine Flames gelöscht werden würden. Du hast es ignoriert und somit habe ich meine Ankündigung in die Tat umgesetzt. Bin gespannt wie viele Wochen und Monate Du diesen Quatsch noch verbreiten willst.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Techie

Alter Hase

  • »Techie« ist der Autor dieses Themas

Beiträge: 717

Wohnort: Bayreuth

Beruf: Student | Hilfswissenschaftler in der Robotik

  • Private Nachricht senden

19

30.06.2014, 17:53

@BlueCobold, wäre nett wenn noch eine Referenz auf den Originalpost noch da wäre.
I write my own game engines because if I'm going to live in buggy crappy filth, I want it to me my own - Ron Gilbert

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

20

30.06.2014, 17:58

@Dot
Hast du meinen Beitrag etwa nicht gelesen? ;)

Werbeanzeige