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

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

161

15.09.2012, 20:19

Nein, hast Du nicht. Es ist beides die selbe Variante, nur unter einem leicht anderen Namen, denn beide Varianten tun genau das gleiche.
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]

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

162

15.09.2012, 20:19

Du willst uns aber doch nicht erzählen, dass du beides auch benutzt oder doch;)
„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.“

Yannic

unregistriert

163

15.09.2012, 20:36

Ne, ich nicht. Aber der Benutzer...(Script-API).

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

164

15.09.2012, 21:22

Wieso genau sollte der Benutzer der Script-API das machen? Eine Variante reicht doch.

Ansonsten schreib doch auch "SetName()", "Name", "PutName()" und "ChangeName()" mit rein, damit die Auswahl noch besser ist. :hmm:
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]

David_pb

Community-Fossil

  • »David_pb« ist der Autor dieses Themas

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

165

11.10.2012, 14:02

C-/C++-Quelltext

1
2
size_t size = length + 1 * sizeof(wchar_t);
wchar_t* buffer = (wchar_t*)_alloca(size);


yep, thats right!!
@D13_Dreinig

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

166

11.10.2012, 14:05

Ah, Strich vor Punkt, oder wie war das...verdammte Infixnotation... :D

idontknow

unregistriert

167

11.10.2012, 14:59

wtf!?

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

168

11.10.2012, 15:27

idontknow hat den Beweis gebracht, dass der Codeschnipsel des Threads würdig ist

im Moment bin ich (auf Arbeit) ein wenig damit beschäftigt, mich über den mir vorliegenden Code (Java) aufzure... einzufinden
dabei habe ich auch die wunderhübsche Methode gefunden:

Quellcode

1
2
3
4
5
6
7
8
public boolean istPersistent() {
    
    if (this.getId() == 0) {
        return false;
    }
    
    return true;
}


und nur so nebenbei ein paar der Dinge, die mich ein wenig verzweifeln lassen:
die Klassen werden, grob umschrieben, unterteilt in jene, die jegliche Logik besitzen und in jene, die die Daten beinhalten
ich hatte in einer "Datenklasse" eine Methode geschrieben, die anhand der Bestandteile des Namens, die gespeichert werden, den Namen zusammensetzt
diese wurde immer dann aufgerufen, wenn einer der Namensbestandteile angepasst wurde
dies wurde von jemand anderem wieder entfernt, weil es doch Logik sei und in den entsprechenden Manager gehöre

die Formatierung (oben ist es schon leicht angedeutet)
würden der Methode Parameter übergeben werden, würden diese in separaten Zeilen stehen (unterhalb des Methodennamens und mit der gleichen einrückung wie der normale Code)
unterhalb des Kopfes einer jeden Schleife und Bedingungen wird eine Leerzeile gelassen (außer, wenn der Inhalt 1 Zeile lang ist)

es ist teilweise keine Dokumentation vorhanden, was gerade bei Konstanten ungünstig ist, die einen (Schlüssel-)Wert wie "10" (als Zeichenkette natürlich) speichern

die Codeaufteilung ist schlecht
eine Methode, die mit "ermittle" beginnt, weist dem übergebenen Objekt die Ergebnisse zu, statt sie als Rückgabewert zu liefern
weiterhin beinhaltet diese Methode die Logik für die Filterung und die Sortierung (letzteres als anonyme innere Klasse) der Elemente

etwas anderes (zusammengefasst): es ist teilweise schwer nachzuvollziehen, woher die Werte für diverse Member eigentlich kommen


mal ganz abgesehen von der Datenbank (ich denke da nur an die "Ressourcen"-Tabelle)
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

169

11.10.2012, 15:55

Das mit dem überflüssigen "If" beim Rückgabewert habe ich auf MSDN schon sehr, sehr oft gesehen.
Die Seite zb.:
http://msdn.microsoft.com/de-de/library/…magecolumn.aspx

Ich picke mir jetzt exemplarisch einige Stellen raus:

C#-Quelltext

1
2
3
4
5
6
private bool IsAWin()
{
    if (ARowIsSame() || AColumnIsSame() || ADiagonalIsSame())
        return true;
    else return false;
}

C#-Quelltext

1
2
3
4
5
private bool IsOsTurn()
{
    if (turn.Text.Equals(oString)) return true;
    return false;
}

C#-Quelltext

1
2
3
4
5
6
private bool ADiagonalIsSame()
{
    if (LeftToRightDiagonalIsSame()) { return true; }
    if (RightToLeftDiagonalIsSame()) { return true; }
    return false;
}

David_pb

Community-Fossil

  • »David_pb« ist der Autor dieses Themas

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

170

19.10.2012, 15:52

C-/C++-Quelltext

1
2
3
4
5
bool Scheduler::jobsStillRunning(uint32 queueID)
{
  AutoReadLock lock(&m_RwLock);
  return m_RunningJobs[queueID].size() == 0;
}


Damn! :thumbup:
@D13_Dreinig

Werbeanzeige