https://ja.wikipedia.org/wiki/%E3%83%A8%E3%83%BC%E3%83%80%E8%A8%98%E6%B3%95
プログラムのコーディングスタイルの一種。
変数を何らかのリテラル値と比較する条件式を書くとき、左側にリテラル値を書き、右側に変数を書くというスタイル。
スターウォーズのヨーダがこういう普通とは逆転した感じの英語を喋っていたことから名付けられたらしい。
利点:条件式と変数への代入を間違えてしまうことが無くなる
value == true // value が true と等しいかが評価結果になる value = true // value に true を代入して、代入された値(true)が評価結果になる
利点:NullPointerExceptionを防止できる (主にjavaの文字列比較の際のメリット)
value.equals("test") // valueが"test"と等しいかが評価結果になる。ただし、valueの内容がnullの場合、nullのequalsメソッドを呼ぼうとするためNullPointerExceptionが発生する。 "test".equals(value) // valueが"test"と等しいかが評価結果になる。valueの内容がnullでも問題ない。