return false vs return !true

hahaha ihr sied die besten :D

am besten lassen wir returns ganz wegfallen und arbeiten nur noch mit globalen variablen und referenzen. Und wozu überhaupt funktionen benutzen wenn ich einfach eine einzige datei prozedual schreiben könnte!

Dann einfach ordentlich goto's in den code und gut ist :D
 
Zuletzt bearbeitet:
Warum sich für eine Variante entscheiden, wenn auch beides geht:

return false || !true;

oder

return false && !true;
 
Das kann doch kein Mensch lesen, dann lieber return 1==1; oder return 1==0; :D
Ergänzung ()

Mercsen schrieb:
hahaha ihr sied die besten :D

am besten lassen wir returns ganz wegfallen und arbeiten nur noch mit globalen variablen und referenzen.

Konstanten, Junge. Define("SOWASVONNICHTTRUE", false); und dann return SOWASVONNICHTTRUE; Da kann sich echt keiner mehr über Unklarheiten beschweren:evillol:
 
Im Grunde gibt es da nichts zu diskutieren. Es ist eine unnötige Fehlerquelle - Punkt! Aber ehrlich, das sind keine guten Vorzeichen.

Wenn jegliche Vernunft versagt, vor dem Versionieren über den gesamten Code Suchen/Ersetzen nutzen und aus !true -> false machen.
Beim Checkout das Gleiche. Ich würde mir dazu dann noch einen entsprechenden Automatismus basteln.

Alles Gute und viel Geduld. :)
 
vlt. sollten wir hier mal einen wettbewerb für die unsinnigsten, aber funktionierenden kosntruckte starten ^^

mir fiele noch ein:

Code:
// whitespace in not_true.tpl nicht vergessen!
eval('return' . file_get_contents('./not_true.tpl'));
:lol:
 
VikingGe schrieb:
Also ich wäre ja für
Code:
return ln(2.0+sqrt(pi)) > arctan(4.0*pi/3.0);

Lohnt sich dann wenigstens, weil das wahrscheinlich nicht mehr so eben wegoptimiert wird ;)
Da keine Variablen drin sind müsste der Compiler das doch auch einfach wegreduzieren?

blöderidiot schrieb:
Achtung! Kann zu Laufzeitüberschreitungen bei meht als zwei returns führen!
Als kleiner Programmieranfänger: War das ein Scherz den ich nicht raffe oder wieso würde das zu Problemen führen?
 
Gab's den hier schon

Code:
return !!false;
 
Belfour schrieb:
Wenn jegliche Vernunft versagt, vor dem Versionieren über den gesamten Code Suchen/Ersetzen nutzen und aus !true -> false machen.
Ich wollte ja nicht ranten aber:

Wenn es nur die Marotte mit return !true ist -> geschenkt. Aber es gibt da auch den Typ Codemagier: so jemand zaubert noch ganz anderen Mumpitz aus dem Zylinder. Also ohne mal 10.000 Zeilen Code von dem return !true-Spezi gelesen zu haben, würde ich gar nicht erst drüber nachdenken mit dem zu arbeiten.

Stell dir mal vor du hast mit dem was größeres gemacht, musst später seinen Code debuggen, und stellst dann fest:
-er hat als Variablenbezeichner grundsätzlich $a bis $z verwendet, 'um Speicher zu sparen'.
-foreach konsequent gemieden, weil for-Schleifen ja eh viel schneller sind.
-und eben selbiger Optimierungsfreak feuert dann in einer zentralen Funktion in einer For-Schleife Queries auf die Datenbank ab, und du wunderst dich, warum die Software so schlecht skaliert bei größeren Datenbanken. Aus dem Code ist das natürlich nicht sofort ersichtlich, denn
-dass GOTO nur für Notfälle ist wissen die meisten inzwischen, aber kein Mensch hat was von Funktionen gesagt, die Funktionen aufrufen, die Funktionen aufrufen, die Funktionen aufrufen. Selbstverständlich ohne sprechende Funktionsnamen, sondern so Perlen wie function rbw240x(), function rbw241x() usw.
-oder er hat mal was über Rekursion gelesen, und auf einmal nimmt sich PHP 100MB Ram, ohne groß was zu machen.

Der Witz an der Sache ist, dass sich da bei der Entwicklung durchaus was gedacht wird, du hast am Ende lauffähigen Code, der mehr oder weniger auch macht was er soll. Dann verschwindet der Codemagier aus dem Projekt, du guckst ein halbes Jahr später in den Code, weil er anfängt schlecht zu skalieren und löst Indiana-Jones-im-Tempel-mäßig eine Druckplatte nach der anderen aus.
 
naja wie ich bereits sagte ist der code alles andere als schön. er ist ziemlich wirr und auch wenn man es in PHP z.b. nicht muss ist es auch nicht gerade schön wenn an x-belibiger stelle plötzlich eine variable eingeführt wird. und das nicht in einer neuen zeile mit erklärenden kommentar sondern dann findest du etwas wie

Code:
blabla(); $temp=blabla2(), $temp2=blabla3($temp); $temp = blabla3(blabla($temp2));
JA! alles in einer zeile, ohne kommentar und ohne eindeutiger bezeichnung was die funktionen da machen. $temp wird dann irgendwo 20 zeilen weiter unten, oder was noch viel schlimmer ist, in einer anderen datei benutzt die später eingebunden wird. ist ja kein problem wenn man mir das irgendwo mal sagen würde oder aus der datei strucktur ersichtlich wird das ein bestimmtes script eingebunden wird. mal abwarten was daraus wird, der kann mit die get und set methoden schreiben, muss ich meine IDE nicht darum bemühen :D
 
Ich glaube das ist einer der dümmsten Threads, die es in diesem Subforum je gab. Und hier findet man wirklich regelmäßig Sachen zum Kopfschütteln.
 
character schrieb:
Ich glaube das ist einer der dümmsten Threads, die es in diesem Subforum je gab.
Finde ich nicht. Meiner Erfahrung nach hat der Thread sehr viel mehr mit "Wirklichkeit" zu tun als die meisten anderen Threads.

Und hier findet man wirklich regelmäßig Sachen zum Kopfschütteln.
Hmm, ich fand hier eher viele Sachen zum "mitnicken" ;)



/edit: on-topic vergessen:
PHP:
function fun_false() {
 return 
         true ^ FALSE ^  true ^  true ^  true ^ FALSE ^ true ^
         true ^  true ^ FALSE ^  true ^ FALSE ^  true ^ true ^
         true ^  true ^  true ^ FALSE ^  true ^  true ^ true ^
         true ^  true ^ FALSE ^  true ^ FALSE ^  true ^ true ^
         true ^ FALSE ^  true ^  true ^  true ^ FALSE ^ true ;
}

function fun_true() {
 return 
       false ^  TRUE ^ false ^ false ^ false ^  TRUE ^ false ^
       false ^ false ^  TRUE ^ false ^  TRUE ^ false ^ false ^
       false ^ false ^ false ^  TRUE ^ false ^ false ^ false ^
       false ^ false ^  TRUE ^ false ^  TRUE ^ false ^ false ^
       false ^  TRUE ^ false ^ false ^ false ^  TRUE ^ false ;
}
 
Zuletzt bearbeitet:
character schrieb:
Ich glaube das ist einer der dümmsten Threads, die es in diesem Subforum je gab. Und hier findet man wirklich regelmäßig Sachen zum Kopfschütteln.

oar wirklich viel Sinn hat der mittlerweile nicht mehr, aber wie heißt es so schön: Älter werden muss man, erwachsen werden ist optional :D

edit:
wie wäre es mit einer datenbank abfrage??
Code:
$t = 'true'
$m = new mysqli(); $m->connect($host, $user, $pw, 'true_db'); $stm = $m->prepare('select val from true_table where not val=?'); $stm->bind_param('s',$t); $stm->execute(); $res = $stm->fetch_result(); $res = $res->fetch_assoc(); return eval($res['val']);
 
Zuletzt bearbeitet:
Ok, da sehe ich Standardwerte von 30s - zwei mal ln und arctan ausführen dauert doch deutlich weniger als 1s, wieso sollte es jetzt gerade wegen dem Return zu Problemen kommen?
 
Code:
return  ! !!!!! !!!!   !   !  !!!!!
        !   !   !   !  !   !  !
        !   !   !!!!   !   !  !!!!!
            !   !   !  !   !  !
        !   !   !   !  !!!!!  !true;
 
r0b0t schrieb:
Code:
return  ! !!!!! !!!!   !   !  !!!!! ...

Für Dich korrigiert:
Code:
    return  !!!!!   !!!!   !!      !!!!  !!!!!
            !!     !!  !!  !!     !!     !!
            !!!!!  !!!!!!  !!      !!!   !!!!!
            !!     !!  !!  !!        !!  !!  
            !!     !!  !!  !!!!!  !!!!   !!!!!true;

;)
 
Zurück
Oben