Delphi-PRAXiS
Seite 61 von 192   « Erste     1151596061 626371111161     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   Was nervt euch so, während der Programmierung oder so allgemein (https://www.delphipraxis.net/152540-nervt-euch-so-waehrend-der-programmierung-oder-so-allgemein.html)

Valle 20. Nov 2011 02:41

AW: Was nervt euch so, wärend der Programmierung oder so allgemein
 
In PHP soll das wohl angeblich einen Sinn machen. Man stellt bei Prüfung auf eine Konstante dieselbe vor den Vergleichsoperator, um zu vermeiden, dass die Variable ungewollt überschrieben wird, falls man mal "=" statt "==" schreiben sollte. Diese Unschönheit dient also einzig und allein dazu, im Falle eines Tippfehlers den Fehler schneller zu finden.

PHP-Quellcode:
if ($pi == 3.14) // so sollte's normalerweise sein
if ($pi = 3.14) // so kann man sich aber mal vertippen (ergibt keinen Fehler)
if (3.14 == $pi) // deswegen machen's viele Leute so
if (3.14 = $pi) // weil im Falle eines Fehlers das hier einen Fehler gibt
Ich find's bescheuert. ;-)

Liebe Grüße,
Valentin

jaenicke 20. Nov 2011 05:00

AW: Was nervt euch so, wärend der Programmierung oder so allgemein
 
Zitat:

Zitat von N1ls (Beitrag 1137041)
Mal ganz abgesehen vom Vergleich auf false(den Code habe ich sinngemaess von PHP uebersetzt und da machen solche Abfragen ab und an sogar Sinn).

Naja, immerhin ist es in Delphi kein Fehler auf false zu prüfen. (Nur auf true prüfen wäre ein Fehler.)

Weder der Vergleich auf true oder false noch die Reihenfolge entsprechen der Logik im Kopf, deshalb ist das natürlich ungewohnt. Aber auch bei nicht boolschen Werten ist die Reihenfolge immer noch anders als im Kopf, wenn auch nicht der Vergleich an sich.

Sir Rufo 20. Nov 2011 09:12

AW: Was nervt euch so, wärend der Programmierung oder so allgemein
 
Ich finde das hier
Delphi-Quellcode:
if false = someFunction() then
begin
  // do something
end;
nicht unleserlich sieht es doch fast so aus wie
Delphi-Quellcode:
if not someFunction() then
begin
  // do something
end;
da fände ich das hier
Delphi-Quellcode:
if someFunction() = false then
begin
  // do something
end;
schlechter.

mkinzler 20. Nov 2011 09:52

AW: Was nervt euch so, wärend der Programmierung oder so allgemein
 
Würde ich trotzdem in
Delphi-Quellcode:
not SomeFunction()
ändern

Delphi-Laie 20. Nov 2011 10:48

AW: Was nervt euch so, wärend der Programmierung oder so allgemein
 
Zitat:

Zitat von N1ls (Beitrag 1137041)
Ist IMHO einfach nur umstaendlich zu lesen, oder?

Zumindest ungewohnt, aber mathematisch korrekt, weil Gleichheiten symmetrisch sind, im Gegensatz z.B. zu Wertzuweisungen.

Luckie 20. Nov 2011 13:43

AW: Was nervt euch so, wärend der Programmierung oder so allgemein
 
Zitat:

Zitat von Delphi-Laie (Beitrag 1137076)
Zumindest ungewohnt, aber mathematisch korrekt, weil Gleichheiten symmetrisch sind, im Gegensatz z.B. zu Wertzuweisungen.

Deswegen finde ich den Wertzuweisungsoperator in Delphi logischer (und ist auch mathematisch korrekt) als in anderen Sprachen, wo es das Gleichheitszeichen ist. Und in Delphi wird der Gleichheitsoperator auch mathematisch korrekt benutzt.

BUG 20. Nov 2011 13:50

AW: Was nervt euch so, wärend der Programmierung oder so allgemein
 
Zitat:

Zitat von Luckie (Beitrag 1137088)
Und in Delphi wird der Gleichheitsoperator auch mathematisch korrekt benutzt.

In anderen Sprachen auch, ob der nun in Zeichen
Delphi-Quellcode:
=
oder
Delphi-Quellcode:
==
heißt ist doch egal :tongue:

implementation 20. Nov 2011 13:50

AW: Was nervt euch so, wärend der Programmierung oder so allgemein
 
Zitat:

Zitat von Luckie (Beitrag 1137088)
Und in Delphi wird der Gleichheitsoperator auch mathematisch korrekt benutzt.

Naja. Eine Zuweisung ist meines Erachtens keine Definition.
Mathematisch korrekt benutzt wäre er höchstens so:
Delphi-Quellcode:
const
  Pi := Tau/2;
Aber ausgerechnet an der Stelle will Delphi ein Gleichheitszeichen :mrgreen:


Ach Kacke, er sprach ja vom Gleichheitsoperator :oops:

blackfin 20. Nov 2011 13:54

AW: Was nervt euch so, wärend der Programmierung oder so allgemein
 
in php gibt es ja auch noch === (also 3x istgleich), was zusätzlich zum Wert auch auf Gleichheit des Typs prüft.
(z.B. schlägt ein 0 === false dann fehl)
Da macht das manchmal Sinn...aber generell ist das auch dort auch kein Gutes Vorgehen und lässt sich immer eleganter lösen.

Das führt auch manchmal zu solchem Irrsinn, wie ich ihn z.B. so schon ein paar mal gesehen habe:
Code:
$proof = 0 ;
...
if ( (bool)$proof === false ) {
...
}
:wall:

Luckie 20. Nov 2011 14:28

AW: Was nervt euch so, wärend der Programmierung oder so allgemein
 
Zitat:

Zitat von blackfin (Beitrag 1137091)
in php gibt es ja auch noch === (also 3x istgleich), was zusätzlich zum Wert auch auf Gleichheit des Typs prüft.

Das liegt aber am schlechten Design der Sprache und man versucht hat nachträglich die Designfehler zu flicken. Und dabei kommen dann so Konstrukte bei raus, was die die Sprache letztendlich nur noch schlimmer macht. Ein unsauberes Design bleibt ein unsauberes Design. Auch wenn ich noch so viele Flicken drauf setze.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:49 Uhr.
Seite 61 von 192   « Erste     1151596061 626371111161     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz