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

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

381

07.02.2014, 21:13

Zitat

Seit Visual Studio 2012.

Die ganzen intelligenten Zeiger im "memory"-Header gibt es schon mindestens seit 2010 (Version 10).
Defintiv. Ich habe zwar vor, demnächst umzusteigen, aber noch nutze ich selber die 2010er Version. Auch mit "unique_ptr".

Tankard

Treue Seele

Beiträge: 192

Beruf: Student, Hardware- und Softwareentwicklung als wissenschaftliche Hilfskraft

  • Private Nachricht senden

382

07.02.2014, 22:13

Gut zu wissen. Ich habe meist den boost:shared_ptr genutzt. Aber viele C++ Projekte habe ich bislang sowieso nicht.

Tobiking

1x Rätselkönig

  • Private Nachricht senden

383

11.02.2014, 18:56

Coffeescript hat mich gerade echt zum Schmunzeln gebracht. Für alle die Coffeescript nicht kennen, es ist eine Sprache die in JavaScript compiliert wird und damit einige Schwächen von JavaScript ausmerzen möchte.

Nach der Zeile

Quellcode

1
logged_in = data ? true : false

ist logged_in nicht etwa true oder false wie man es in anderen Sprachen kennt, sondern:

Quellcode

1
2
3
logged_in:  { 
  true: false
}



Da hat sich der in Coffeescript hinzugefügte Existenzoperator den Ausdruck gekrallt.

patrick246

Treue Seele

Beiträge: 328

Wohnort: nahe Heilbronn/BW

Beruf: TG Profil Informatik-Schüler

  • Private Nachricht senden

384

11.02.2014, 19:08

Schon alleine die Zeile

Quellcode

1
logged_in = data ? true : false

ist ein WTF wert :D

385

11.02.2014, 19:32

Zitat von »patrick246«


Schon alleine die Zeile
Quellcode
logged_in = data ? true : false
ist ein WTF wert :D

Ich denke das kann durchaus sinnvoll sein. "logged_in" soll wahrscheinlich die Rolle eines Boolean übernehmen und "data" muss nicht unbedingt true oder false sein. Bei der späteren Verwendung von "logged_in" spart man sich dann die eine oder andere Überraschung.

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

386

11.02.2014, 19:33

Aber data soll sich ja wohl anscheinend als bool auswerten lassen, also würde

Quellcode

1
logged_in = data
ja reichen

387

11.02.2014, 19:53

Aber data soll sich ja wohl anscheinend als bool auswerten lassen, also würde
Quellcode
logged_in = data
ja reichen

Nein, da CoffeeScript nicht typisiert ist. Wenn "data" z.B. ein Object ist würde man dieses in "logged_in" speichern.

Tobiking

1x Rätselkönig

  • Private Nachricht senden

388

11.02.2014, 21:35

Aber data soll sich ja wohl anscheinend als bool auswerten lassen, also würde
Quellcode
logged_in = data
ja reichen

Nein, da CoffeeScript nicht typisiert ist. Wenn "data" z.B. ein Object ist würde man dieses in "logged_in" speichern.

Genau, in data steht die Antwort eines REST Endpoints, der die Informationen des aktuell angemeldeten Benutzers zurückgibt. Ist kein Benutzer angemeldet, werden keine Daten geschickt.

Allerdings ist mir durch die Einwände aufgefallen das es über den HTTP Status eleganter geht.

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

389

12.02.2014, 00:20

Selbst wenn es nicht am HTTP-Code festgemacht werden könnte, wäre es (meiner Meinung nach) etwas besser (/lesbarer), wenn man mit dem Wert prüft, den man an dieser Stelle erwartet (null oder undefined im Falle von JavaScript).
Ist einem die Lesbarkeit nicht besonders wichtig, kann man auch durch doppelte Negation (!!data) an die boolsche Repräsentation kommen.
Auf den HTTP-Code einzugehen ist da natürlich durchaus eleganter. ;)
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

390

12.02.2014, 07:59

Selbst wenn es nicht am HTTP-Code festgemacht werden könnte, wäre es (meiner Meinung nach) etwas besser (/lesbarer), wenn man mit dem Wert prüft, den man an dieser Stelle erwartet (null oder undefined im Falle von JavaScript).
Ist einem die Lesbarkeit nicht besonders wichtig, kann man auch durch doppelte Negation (!!data) an die boolsche Repräsentation kommen.
Auf den HTTP-Code einzugehen ist da natürlich durchaus eleganter. ;)

Danke für den Tipp mit der doppelten Negation. Das wusste ich noch nicht. Im Falle von JavaScript müsste man tatsächlich jede Situation testen (null, undefined, empty usw.). Ob das besser lesbar wäre als die CoffeeScript Variante ist sicher ein streitbares Thema wo es um persönliche vorlieben geht. Mit "if(data)..." wird für mich einfach geprüft ob es sich um eine brauchbare Variable handelt mit der ich weiter arbeiten kann. Klarer kann man das eigentlich nicht ausdrücken. Man muss sich natürlich darüber im klaren sein was alles unter die CoffeeScript-"Wahrheit" fällt.

Werbeanzeige