Frank schrieb:
> Deshalb gewöhnt man sich an die Konstante links zu schreiben:
>
1 | > if((0xFF = RS)) //Fehler
|
2 | > {
|
3 | > ...
|
4 | > }
|
5 | >
|
> Dann bekommt man definitiv einen Fehler.
Es würde auch schon reichen, sich zu überlegen was mir der Compiler mit
einer Warnung sagen will. Wenn der Compiler (wörtlich) vorschlägt, den
Ausdruck zu klammern, dann kann das eine Lösung sein - aber nur unter
der Voraussetzung dass man wirklich auch eine Zuweisung meinte. Im
anderen (häufigeren) Fall, wenn man sich fragt "was zum Teufel faselt
der da von einer Zuweisung", sieht man dann auch das Problem und das der
Vorschlag mit der zusätzlichen Klammerung nicht die Lösung ist.
Mit wachsender Erfahrung wird dieses "Problem" immer kleiner, bis es
sich praktisch im Nichts auflöst. Diesen Fehler macht man am Anfang
seiner Karriere ein paar mal, aber das wird schnell immer seltener. Und
wenn, dann sieht man das vergessene = spätestens im Debugger sofotrt.
Die Umkehrung der Operanden hingegen hat das dauerhafte Problem, das
Menschen meistens nicht so denken. Wir denken nun mal nicht "Wenn es
wahr ist, dass 5 die Anzahl der Eier ist", sondern wir benennen den
variablen Teil meistens zuerst. "Wenn es wahr ist, dass die Anzahl der
Eier gleich 5 ist".
Obowhl ich natürlich auch zugebe, dass man sich an alles gewöhnen kann
und dann auch die Umkehrung der Reihenfolge gegenüber der natürlichen
Denkweise irgendwann völlig normal ist.