ヨーダ記法 【Yoda notation】

概要

ヨーダ記法(Yoda notation)とは、プログラミングにおける条件式の記述法の一つで、定数を左辺に置くなど一般的な順序とは逆に要素を配置すること。映画「スター・ウォーズ」シリーズに登場するヨーダというキャラクターが、一般的な英語とは語順が一部逆さまになった独特の言い回しをすることに由来する。

if文などの条件式は、一般的には if( x == 1 ) のように、変数比較演算子定数リテラル)の順に書くことが多い。ヨーダ記法はこの順序を逆にして if( 1 == x ) のように記述する。文法的には同じことを表しており、処理の内容に変化は生じない。

C言語やその記法を受け継ぐ多くのプログラミング言語のように、「=」が代入演算子、「==」や「===」が等価演算子であるような言語では、うっかり if( x = 1 ) と記述してしまってもエラーとはならず、「xと1を比較する」はずが「xに1を代入する」という全く異なる処理になってしまう。

このような場合、条件式をヨーダ記法で書いておけば、if( 1 = x ) となり、1にxは代入できないためエラーとなり、記述ミスにすぐ気付くことができる。リテラルが先に来ることで、動的データ型の言語で型がすぐに分かる、変数名が長い場合に比較対象が画面右に見切れてしまうことがない、などの利点もある。

しかし、人間の思考の流れとして「ある変数が指定の条件を満たすか」をに書き表しているのであり、主体である変数が後に来るのは直感的に自然な順序とは言い難い。ヨーダ記法はコード可読性を損なうとして批判的な人も多い。

(2023.7.12更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる