Yoda condition
Language: English
Part of speech: noun
Pronunciation: ipa: /ˌjəʊdə kənˈdɪʃn̩/
ipa: /ˌjoʊdə kənˈdɪʃən/
rhymes: -ɪʃən
Forms: form: Yoda conditions
Etymology: An allusion to the somewhat grammatically reversed speech style of Yoda, a character in the Star Wars franchise—for example, “Truly wonderful, the mind of a child is.” The term was possibly coined by Félix Cloutier (username “zneak”) in 2010, based on Yoda notation which is claimed to have been coined by Thomas M. Tuerke and published online in 2006.
Senses: examples: text: A great convention to stick to, the Yoda condition requires you to keep the comparison variable on the right side of the conditional statement.
ref: 2013, Adam Onishi, “Getting Started”, in Pro WordPress Theme Development, Berkeley, Calif.: Apress, Springer Nature, →ISBN, page 14:
text: A computer programmer is trying to explain a recent problem to a journalist friend, and she says, "This jimmy had put in Yoda conditions and had been refactoring my previous work so that in the end it was just hooker code." The journalist friend looks baffled.
ref: 2014, Kirk Hazen, “The Winding Paths of Language in Education”, in An Introduction to Language (Linguistics in the World), Malden, Mass.: Wiley-Blackwell, →ISBN, page 331:
text: // what happens if the debug parameter is removed // from the request and becomes a null? // should really be using a Yoda Condition here ;)
ref: 2015, Jim Manico, August Detlefsen, “Access Control”, in Iron-clad Java: Building Secure Web Applications (Oracle Press), New York, N.Y.: McGraw-Hill Education, →ISBN, page 66:
text: Writing if(isHungry = true) by accident will set isHungry to true every time the if statement is hit! To avoid this possibility, we can just write if(isHungry). Alternatively, some (wise) people use what are called Yoda conditions to check an if statement: if(true == isHungry). The reason we write the if statement in this way is that, if we accidentally write if(true = isHungry), this will generate a compiler error, catching the mistake.
ref: 2015 February, William Sherif, “If, Else, and Switch”, in Learning C++ by Creating Games with UE4: Learn C++ Programming with a Fun, Real-world Application that Allows You to Create Your Own Games!, Birmingham, West Midlands: Packt Publishing, →ISBN, page 48:
text: Leo grimaces at Caleb. "I never asked—how did you figure it out?" / "Yoda conditions. You may as well have signed your name." At my blank look, Caleb says, "Your boyfriend writes his code backwards."
ref: 2020, Amy Noelle Parks, “Evie”, in The Quantum Weirdness of the Almost-kiss, New York, N.Y.: Amulet Books, Abrams Books, →ISBN:
text: Programmers normally write conditions such as x == 7 with the variable name (an lvalue) on the left and the literal (an rvalue) on the right. Placing the literal on the left, as in 7 == x (which is syntactically correct and is sometimes called a "Yoda condition"), enables the compiler to issue an error if you accidentally replace the == operator with =. The compiler treats this as a compilation error because you can't change a literal's value.
ref: 2022, Paul Deitel, Harvey Deitel, C++20 for Programmers: An Objects-natural Approach (Deitel Developer Series), Boston, Mass.: Pearson Prentice Hall, →ISBN:
topics: computing
engineering
mathematics
natural-sciences
physical-sciences
programming
sciences
glosses: A logical condition with the usual order of operands reversed for various reasons, such as avoiding accidental misuse of = (assignment) instead of == (equality), a mistake that is harder to spot when using the normal order of operands.
wikipedia: Stack Overflow
Star Wars
Star Wars: Episode II – Attack of the Clones
Yoda
Related terms: Yoda notation
Yodaspeak
lvalue
rvalue