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

helium

Treue Seele

Beiträge: 180

Wohnort: NRW, Burscheid (nahe Köln)

  • Private Nachricht senden

21

19.11.2005, 13:16

Zitat von »"nix da"«

helium
Wer etwas nachträglich ändert hat in der Planung einen Designfehler gemacht und das dann sicherlich auch nicht nur an dieser Stelle. Daher sollte man Planen bevor man Codet.

Halte ich nix von.
Von vorne herein flexibel arbeiten. Dann kann man auch wunderbar auf plötzliche Änderungen reagieren (Der Kunde hat einen neuen Wunsch; dem Kunde gefält das, was er anfangs wollte nun doch nicht mehr; ...) und außerdem ist kein Mensch perfekt. Man dachte nach stundenlagem Überlegen und Planen man habe den "perfekten" Weg gefunden, im Laufe des Programmierens fällt einem dann aber plötzlich etwas auf, was vorher nicht aufgefallen ist. Durch das flexible Desing kein Problem die Verbesserung einzuflechten.


Mit Leuten die zu viel Planen habe ich sehr schlechte Erfahrungen gemacht.
Natürlich muss man vorher nachgedacht haben und in gewisser Weise auch geplant haben. Aber bis auf das Niveau jeden einzelnen Datentyp vorher bereits festgelegt zu haben ist definitif zu weit und eher kontraproduktiv.

Zudem: Ich persönlich bin während des Programmierens am kreativsten; erst wenn ich es baue kommen mir die besten Ideen. Zu viel Planung verlangsamt meinen Arbeitsvorgang enorm, weil ich während der Umsetzung immer Dinge bemerke, die noch besser gemacht werden könnten. Falls du jetzt auf die hirnrissige Idee kommen solltest zu sagen, ich solle noch mehr Zeit in die Planung investieren, um solche Fälle zu minimieren, dann höre ich auf mit dir zu Diskutieren, denn dabei verliere ich nur noch mehr Zeit, die ich in produktive Arbeit (nämlich Programmieren) investieren könnte.

Ich gehe im Bereich probieren statt überlegen sicherlich manchmal etwas zu weit, aber oft ist es so, das bei mir ein einfaches hinschreiben und ausprobieren schneller geht, als ein geziehlt darüber nachdenken.
Ich habe grobe Ideen, wie es funktionieren könnte, setzte die Variante, die mir am wahrscheinlichsten erscheint um, guck, was bei rauskommt. Meistens hab ich glück und es funktioniert direkt. Wenn nicht, kann ich an dem gezeigten Verhalten meistens erkennen, was falsch ist und mal eben korigieren. Wenn das nicht gelingt, wird einfach eine der anderen vorher überlegten Varianten ausprobiert und gegebenen Falls korigiert. Sollte ich auch damit nicht schnell zum Ziel kommen, wird etwas mehr theoretisch darüber nachgedacht, bis ich auf die Lösung komme.

Da die Fälle, bei denen die intuitive Variante (zumindest nach minimaler Bearbeitung) funktioniert, so verdammt häufig vorkommen und soviel weniger Zeit in anspruch nehmen, als die stundenlang durchdachten, rentiert sich das sehr.


Außerdem finde ich ein "std::map<std::string, std::list<double> >" extrem uneffektiv. Bis mein Gehirn das interpretiert hat, ist schon längst viel zu viel Zeit rumgegangen. So lässt sich nicht zügig Arbeiten. "Bar" sind einfach deutlich weniger Zeichen und lassen sich vom Gehrin in einem Haps direkt aufnehmen, so dass man den Code lesen kann, wie einen beliebigen anderen Text.

Falls du dachtest, das es mir in irgendeiner Weise um den Tippaufwand ginge: Das ist totaler Quatsch. Ich denke nie darüber nach, was mehr Tippaufwand verursacht, da ich eh schnell genug Tippe und Code, der auf geringen Tippaufwand optimiert ist in der Regel absolut unleserlich ist. Ich hasse Leute, die soetwas versuchen, am besten dann aber ungarische Notation verwenden.
Why is 6 afraid of 7?
Because 7 8 9

Lemming

Alter Hase

  • »Lemming« ist der Autor dieses Themas

Beiträge: 550

Beruf: Schüler

  • Private Nachricht senden

22

19.11.2005, 13:26

Zitat von »"helium"«

Ich hasse Leute, die soetwas versuchen, am besten dann aber ungarische Notation verwenden.
Was habt ihr alle gegen die Ungarische Notation? ??? Ich find die extrem praktisch.
Ich kanns nich leiden, wenn Pointer nich mit nem 'p' gekennzeichnet sind. Und Members ohne nen 'm_' vorne dran find ich auch extrem unpraktisch, wie will man ohne sowas den Überblick behalten?
Es gibt Probleme, die kann man nicht lösen.
Für alles andere gibt es C++...

helium

Treue Seele

Beiträge: 180

Wohnort: NRW, Burscheid (nahe Köln)

  • Private Nachricht senden

23

19.11.2005, 16:31

Das ist überhaupt kein Problem.
vor allem hast du dann Präfixe für int, char * und ein paar weitere, aber in einer OO-Sprache, wie C++ gibt es üblicherweise nicht nur ne Hand voll Typen, sondern mehrere Hundert. Und sich da immerweiser neue Abkürzungen auszudenken ist hirnrissig. Außerdem ist es uninteressant. Ob es ein vector, eine deque oder eine list ist interessiert mich vielleicht überhaupt gar nicht, wenn ich einfach nur über die Elemente iterieren will.
Spätestens im Template-Code sind die Präfixe dann unmöglich.

Und bekommen Instanzen von std::auto_ptr, boost::shared_ptr, ... jetzt auch das Präfix "p" oder nicht?

Interessiert es jemanden, ob es sich um int, double oder MySuperCoolNumber handelt, wenn es einfach nur darum geht 42 hinzuzuadieren?
Der Code sieht immer gleich aus un der Typ kann jeder Zeit ausgetauscht werden.

Vor allem kennst du in einer objektorientierten Sprache den Typ oftmals gar nicht im Namen kodieren, da er erst zur Laufzeit feststeht.
Why is 6 afraid of 7?
Because 7 8 9

Lemming

Alter Hase

  • »Lemming« ist der Autor dieses Themas

Beiträge: 550

Beruf: Schüler

  • Private Nachricht senden

24

19.11.2005, 17:16

wenn mans übertreibt is alles schlecht egal was!
ham wir in der geschichte oft genug gesehen ...

ich mach ansich nur präfixe für members für pointer für arrays für char für alle int und float typen und das wars eigentlich auch schon... s vll noch für strings. aber wenn ich ne map als member habe dann heißt die bei mir auch nur 'm_Name'.
Es gibt Probleme, die kann man nicht lösen.
Für alles andere gibt es C++...

Steven77

Alter Hase

Beiträge: 515

Wohnort: Münster - Gievenbeach

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

25

19.11.2005, 18:15

Zitat von »"helium"«

Mit Leuten die zu viel Planen habe ich sehr schlechte Erfahrungen gemacht.
Natürlich muss man vorher nachgedacht haben und in gewisser Weise auch geplant haben. Aber bis auf das Niveau jeden einzelnen Datentyp vorher bereits festgelegt zu haben ist definitif zu weit und eher kontraproduktiv.

Zudem: Ich persönlich bin während des Programmierens am kreativsten; erst wenn ich es baue kommen mir die besten Ideen. Zu viel Planung verlangsamt meinen Arbeitsvorgang enorm, weil ich während der Umsetzung immer Dinge bemerke, die noch besser gemacht werden könnten. Falls du jetzt auf die hirnrissige Idee kommen solltest zu sagen, ich solle noch mehr Zeit in die Planung investieren, um solche Fälle zu minimieren, dann höre ich auf mit dir zu Diskutieren, denn dabei verliere ich nur noch mehr Zeit, die ich in pProduktive Arbeit (nämlich Programmieren) investieren könnte.

Sehe ich genauso.

helium

Treue Seele

Beiträge: 180

Wohnort: NRW, Burscheid (nahe Köln)

  • Private Nachricht senden

26

19.11.2005, 18:44

Zitat von »"Lemming"«

ich mach ansich nur präfixe für members für pointer für arrays für char für alle int und float typen und das wars eigentlich auch schon... s vll noch für strings.

Was ist mit Smart-Pointern? Was ist mit sowas, wie boost::array? Werden die gekennzeichnet wie die bereits eingebauten Zeiger oder Felder?
Why is 6 afraid of 7?
Because 7 8 9

Lemming

Alter Hase

  • »Lemming« ist der Autor dieses Themas

Beiträge: 550

Beruf: Schüler

  • Private Nachricht senden

27

19.11.2005, 19:42

ansich ja.
mir gehts ja nich darum, was fürn array oder pointer oder liste oder was immer das is. sobald für mich aus dem namen nicht klar zu erkenne ist, was was für einen typ hat kennzeichne ichs. aber so sachen, wie nen i in ner for schleife kennzeichne ich natürlcih nich noch extra. mir gehts halt darum klar zu erkennen, was is member, was is pointer, was is liste....
ich find den code dann verständlicher.
Es gibt Probleme, die kann man nicht lösen.
Für alles andere gibt es C++...

Werbeanzeige