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

Pixel-Wizard

Frischling

  • »Pixel-Wizard« ist der Autor dieses Themas

Beiträge: 33

Wohnort: Schweiz

Beruf: Informatiker

  • Private Nachricht senden

1

23.11.2012, 13:15

Logfile Programmieren --> Wichtig?

Hallo miteinander

Ich lerne im Buch "C++ für Spieleprogrammierer" gerade wie man eine Logfile-Klasse programmiert. Da dies sehr kompliziert und eigentlich nur einmal bzw. keinmal gemacht werden muss (im Internet findet man so ein Logfile schnell was ich aber schlecht finde denn so lernt man nix) frage ich mich ob es wichtig ist so Logfiles programmieren zu können.

Auch Singletons finde ich sehr kompliziert. Ist es wirklich so dass man das einmal abschreiben muss und dann hat man es mit den Singletons?

MfG Pixel-Wizard
Träume werden wahr, wenn du sie war werden lässt.


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

23.11.2012, 13:22

Finger weg von Singletons! Diese sollte man so gut wie nie verwenden, denn sie haben nur einen speziellen Zweck, der quasi niemals gebraucht wird (nämlich der, dass es unter gar keinen Umständen jemals mehr als eine Instanz von etwas geben *darf*). Alle anderen Gründe sind Faulheit und Schlampigkeit. Egal welches Anfänger-Buch Singletons beinhaltet und diese lehrt, es verwendet sie aus falschen Gründen und man sollte daher gekonnte darüber hinwegsehen. Man kann gern lernen, wie sie funktionieren, aber man sollte sich bewusst sein, dass sie oft nur als Ersatz für statische und globale Variablen eingesetzt werden und das ist absolut falsch und schlecht.

Logfiles sind schon ziemlich wichtig und man sollte eventuell auch wissen, wie man sowas schreibt. Aber man sollte natürlich nicht immer seine eigene Logfile-Klasse schreiben, da das nicht nur anfällig für Fehler, sondern auch noch überflüssige Arbeit ist.
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]

Pixel-Wizard

Frischling

  • »Pixel-Wizard« ist der Autor dieses Themas

Beiträge: 33

Wohnort: Schweiz

Beruf: Informatiker

  • Private Nachricht senden

3

23.11.2012, 13:39

Wegen den Logfiles

Ok in diesem Fall werde ich das Logfile aus dem Buch einfach noch ein bisschen moden und dann ist es gut!

Wegen den Singletons

:thumbsup: Bin grade sehr erleichtert da mir dieser Code so kompliziert vorkam :-)

Ich werde die Singletons also nur im Notfall benutzen

Aber dass ein Logfile von der Singleton-Klasse erbt ist doch gut oder?
Träume werden wahr, wenn du sie war werden lässt.


Wirago

Alter Hase

Beiträge: 1 193

Wohnort: Stockerau

Beruf: CRM Application Manager

  • Private Nachricht senden

4

23.11.2012, 13:50

Naja, so unnötig sind Singletons nicht. Ab und an kommt es doch vor, dass man vermeiden möchte, dass ein Objekt ein 2tes mal instanziert wird. Nicht sonderlich häufig, aber doch.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

5

23.11.2012, 13:58

Ist mir bisher nie begegnet. Dafür ist mir sehr oft begegnet, dass etwas als Singleton (oder ähnliches Prinzip) gebaut wurde und davon ausgegangen wurde, dass es davon nur maximal eins geben wird und darf, aber dann genau das Gegenteil eintrat, nämlich dass man doch mehrere brauchte und was dann ein ziemlich großes Problem wurde. Wo hat denn deiner Meinung nach ein Singleton mal Sinn gemacht hat, Wirago?

@Pixel-Wizard:
Verstehen solltest Du trotzdem, was da passiert, da eine Singleton-Klasse wirklich ein sehr sehr einfaches Konstrukt ist. Und nein, dass ein Logfile von Singleton erbt, das ist sogar oft sehr schlecht (aber oft so gebaut), weil dann immer alles im selben Log landet, was man aber manchmal überhaupt gar nicht gebrauchen kann, weil man eben verschiedene System-Teile in verschiedene Logs schreiben lassen will oder muss.
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]

Pixel-Wizard

Frischling

  • »Pixel-Wizard« ist der Autor dieses Themas

Beiträge: 33

Wohnort: Schweiz

Beruf: Informatiker

  • Private Nachricht senden

6

23.11.2012, 14:14

Ach ja stimmt das steht auch im Buch, dass man das nur machen sollte wenn man 100% sicher ist dass es nur 1 Logfile geben wird (z.B. kleines Projekt);

Vielen Dank
Träume werden wahr, wenn du sie war werden lässt.


7

23.11.2012, 14:58

Selbst wenn man sich sicher ist, dass es nur eins geben wird, wieso sollte man dann verbieten, dass es ein zweites geben könnte?

Der Code ist kompliziert, weil du ein Anfänger bist. Da hilft einfach nur jahrelange Übung, wenn du irgendwann zurückschaust, wird dir alles ganz einfach vorkommen.

Zitat


Aber man sollte natürlich nicht immer seine eigene Logfile-Klasse schreiben, da das nicht nur anfällig für Fehler, sondern auch noch überflüssige Arbeit ist.


Ich bin schon dafür. Als Anfänger schreibt man eh nur Übungsprogramme (so ungefähr die ersten 10 Jahre lang :D) und an einer Logklasse kann man sehr schön verschiedene Dinge üben. Wenn du etwas lernen willst (und das musst du auf die ein oder andere Art), benutze nicht den Code aus den Buch, sondern schau ihn dir an und programmiere ihn auf deine Art und weise nach. Vom Kopieren lernt man nichts.
Später, wenn du die Grundlagen beherrschst, kannst du dir überlegen, was du nicht unbedingt selber verstehen musst und dafür fertige Komponenten benutzen.
Lieber dumm fragen, als dumm bleiben!

Pixel-Wizard

Frischling

  • »Pixel-Wizard« ist der Autor dieses Themas

Beiträge: 33

Wohnort: Schweiz

Beruf: Informatiker

  • Private Nachricht senden

8

23.11.2012, 15:04

Genau dies tue ich auch. Ich schreibe sozusagen den Code einfach ab, doch ich ändere meistens einige Variabelnamen. Zusätzlich modifiziere ich die Übungen auch und erstelle zwischendurch eigene kleine Projekte mit dem Gelernten (z.b. Datenbank oder Rechner oder Zahlenraten). Das mit dem jahrelangen Üben bin ich mir nicht sicher wie du meinst. Also ich werde sicher einige kleine Projekte zwischendurch machen und diese dann auch unter Verwandten und Bekannten verbreiten. Nebenbei werde ich natürlich noch mehr lernen und mir solange C++ beibringen bis es wirklich sitzt :)
Träume werden wahr, wenn du sie war werden lässt.


Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

9

23.11.2012, 17:47

Überleg dir doch einfach mal was so eine Logfile Funktionalität deiner Meinung nach können sollte. Dann schreibst du das auf. Danach versuchst du einfach mal selbst das aufgeschriebene umzusetzen. Viel muss es ja am Anfang nicht können.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Pixel-Wizard

Frischling

  • »Pixel-Wizard« ist der Autor dieses Themas

Beiträge: 33

Wohnort: Schweiz

Beruf: Informatiker

  • Private Nachricht senden

10

24.11.2012, 11:30

Überleg dir doch einfach mal was so eine Logfile Funktionalität deiner Meinung nach können sollte. Dann schreibst du das auf. Danach versuchst du einfach mal selbst das aufgeschriebene umzusetzen. Viel muss es ja am Anfang nicht können.
Das ist ne super Idee!! Vielen Dank für den Tipp :thumbup:
Träume werden wahr, wenn du sie war werden lässt.


Werbeanzeige