Skip to content
ontologydriven
Sign out

Dictionary

Words, grammatical forms and meanings linked to the ontology.

Yoda condition en · NOUN

Pronunciation

  • /ˌjoʊdə kənˈdɪʃən/ (General-American)
  • /ˌjəʊdə kənˈdɪʃn̩/ (Received-Pronunciation)
  • (General-American) audio

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.

Meanings

  1. (informal) A logical condition with the usual order of operands reversed for various reasons, such as avoiding the accidental misuse of = (assignment) instead of == (equality), an error that is harder to spot when using the normal order of operands.
    • 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. 2022, Paul Deitel, Harvey Deitel, C++20 for Programmers: An Objects-natural Approach (Deitel Developer Series), Boston, Mass.: Pearson Prentice Hall, →ISBN:
    • 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. 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:
    • 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. 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:
    • // what happens if the debug parameter is removed // from the request and becomes a null? // should really be using a Yoda Condition here ;) 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:
    • A great convention to stick to, the Yoda condition requires you to keep the comparison variable on the right side of the conditional statement. 2013, Adam Onishi, “Getting Started”, in Pro WordPress Theme Development, Berkeley, Calif.: Apress, Springer Nature, →ISBN, page 14:
    • 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." 2020, Amy Noelle Parks, “Evie”, in The Quantum Weirdness of the Almost-kiss, New York, N.Y.: Amulet Books, Abrams Books, →ISBN:

Forms

SpellingFeaturesLabelsSource
Yoda conditions Number=Plur lexicographic

Relateds

rvalue · lvalue · Yodaspeak

Synonyms

Yoda notation

Translations (5)

es condición Yoda (logical condition with the usual order of operands reversed) · fi ehto, jossa vakio on vasemmalla (logical condition with the usual order of operands reversed) · fr condition Yoda (logical condition with the usual order of operands reversed) · pl pisanie w kodzie warunków w szyku przestawnym w stylu Yody (logical condition with the usual order of operands reversed) · cmn 尤達條件 /尤达条件 (logical condition with the usual order of operands reversed)

wikipedia: Star Wars · wikipedia: Yoda · wikipedia: Stack Overflow · wikipedia: Star Wars: Episode II – Attack of the Clones