In einem C ++ Coding Style Guide , Ich fand eine besondere Empfehlung (Seite 41, Empfehlung Nummer 53):
Tragen Sie auf der linken Seite immer Nicht-L-Werte ein (
0 == i
anstelle voni == 0
).
Und ich verstehe nicht, wofür das gut ist? Halten Sie an dieser Praxis fest?
Ich bin es nicht und ich weiß nicht, warum es eine gute Übung ist. Der einzige Vorteil, den ich mir vorstellen kann, ist, dass man eine unbeabsichtigte Zuweisung nicht mit einem Vergleich ( if (foo = 0){}
versus if (foo == 0){}
) verwechseln kann
Hast du irgendwelche anderen Ideen, warum sollte ich es benutzen?
Ja, Sie haben es richtig geraten. Es ist der gute, alte Yoda Zustand !! !
Wie Sie sagen, ist der Grund, warum manche Leute es benutzen, gelegentlich, =
nicht zu tippen, wenn sie ==
bedeuten.
Da es nur einige Fälle abfängt, in denen du einen lvalue mit einer Konstanten oder rvalue vergleichst, und jeder Compiler, den ich kenne, warnt dich, wenn du das machst Fehler, es ist sehr wenig sinnvoll, es zu tun.
Zumindest für englische Muttersprachler wird der Code so gelesen, als wäre er rückwärts geschrieben; so eine "Yoda-Bedingung" nennen manche es tun. Wie viele Regeln in Corporate Style Guides stammt es aus einer Zeit, in der der Umgang mit gnadenlosen Compilern eine höhere Priorität hatte als das Schreiben von lesbarem Code.
Tags und Links c++ coding-style