ヨーダスタイルについて
とある回答への某コメントで
I was tempted to give you an upvote until I saw "Yoda style". That style was horrible even when it was useful. Nowadays, every decent compiler will generate a warning about assignments where conditionals are expected, so that style is still horrible and now completely useless.
とされていて、(拙訳、重大な間違いがあったら修正下さい)
「ヨーダスタイルを見るまではアップボート(良回答投票)しようと思ってた。
それはかつては役に立ちましたが寒気のするものでした。
今ではコンパイラがそのような条件を代入とすることについて警告を発するので
まるで役に立たないばかりかまだ寒気のするスタイルです。」
えらく嫌われるもんだなと思います。
(この方だけでなく他にも(既に場所は忘れましたが)似たようなコメントを見たことがあります)
私は以前の大流行も知っていますし、現在ではほとんど使われなくなったと感じていますが、
実際の所
1==value
と書いてもvalue==1
と書いてもプログラムとしての意味は変わりませんし、
実際1=value
になっていたら警告がでるでしょうし、
clang ではvalue=1
で警告がでますが、
gcc ではオプションを付けなければ警告はでません。(新しいバージョンだと違う?)
私的にはどっちでもそんなに目くじら立てるようなこと(また回答としての評価を下げること)なのかな?と思います。
また関数の返値の場合も(次の例の場合代入でさえないがヨーダスタイルと言われる(?))
1==func()
よりもfunc()==1
の方が好まれるような感じを受けます。
これ(ヨーダスタイル)って英語の文脈的に生理的に受け付けないとかそういう意味があるんでしょうか?
なぜそこまで毛嫌いされるのですか?