Sinnvollere Variablen

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hey,


    ich habe in vielen Skripts gesehen das mache oft die Variablen deklarieren, und da drunter erst abfragen, ob der Spieler Administrator ist, ist es sinnvoller erst das Adminlevel abzufragen, da sonst die Variablen unnötig sind...
    Ich möchte anfangen Resourcensparender und somit effizienter zu Arbeiten, deswegen die Frage.


    BSP:

    Code
    if(!isAdmin(playerid,3))return SendClientMessage(playerid,COLOR_RED," //// ");
             new pName[32];
             [...]


    oder.


    Code
    new pName[32];
    	if(!isAdmin(playerid,3))return SendClientMessage(playerid,COLOR_RED," //// ");

    mfg,

  • "Deswegen die Frage" - wo ist da eine Frage? ^^
    Aber ich selbst hab mir das schon oft beim Lern-Prozess immer gedacht, wieso andere erst erstellen und dann abfragen machen - die etwas returnen wenn diese zutreffen.
    Ich denke schon das erst abfragen und dann erstellen sinnvoller ist bzw. effizienter - und wenn nicht, trotzdem sinnvoller.

  • Es gibt durchaus einen Grund, wieso die Variablen über der Abfrage deklariert wird: Übersichtlichkeit!


    Eine Funkion/gesamtes Programm ist für viele einfacher zu lesen/verstehen, wenn man alles zentral an einem "Ort" deklariert.

  • legend: das ist Ansichtssache... es ist meist unnötig globale variablen zu haben. rein von der Logik her sollte es ressourcensparender sein die variable nur zu Instanzieren wenn die abfrage erfolgreich ist. ich glaube das macht aber Schluss endlich keinen Unterschied in der Performance...

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • Der Vollständigkeit halber habe ich mal kurz einen Zeit-Test gemacht.
    Viel ist es nicht, aber wenn man es über eine längere Zeit hochrechnet und das möglicherweise mit mehreren Variablen macht, dann rechnet sich das schon zusammen.


    Test mit diesem Code:


    Ergebnis:

    Code
    [12/10/2015 11:56:28] Code 1: 57ms
    [12/10/2015 11:56:28] Code 2: 186ms


    Man sieht also die Tendenz.

  • Hey,
    vielen Dank für die Antworten und den Beleg!


    mfg,
    -Pioneer