c ++ styleguide: Warum auf der linken Seite Nicht-L-Werte haben?

8

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 von i == 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?

    
Novellizator 09.04.2012, 16:54
quelle

2 Antworten

14

Ja, Sie haben es richtig geraten. Es ist der gute, alte Yoda Zustand !! !

    
Alok Save 09.04.2012, 16:55
quelle
3

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.

    
Mike Seymour 09.04.2012 17:09
quelle

Tags und Links