皆さん、こんにちは
ソフトブレインのまっちゃんです
いつも弊社ブログをご覧いただきありがとうございます
本日は、プログラミングの記法を2つほど、紹介したいと思います
■ヨーダ記法
ヨーダ記法は条件式の左辺に定数を置いて比較する方法です
ヨーダ記法を用いた条件式はこんな感じです
if(1==value)
ヨーダ記法を用いない条件式はこんな感じです
if(value==1)
メリットは、比較演算子「==」を代入演算子「=」で記述しても、定数への変更はできないため、コンパイラでエラー検知してくれます
しかし、ヨーダ記法を用いない場合、変数への代入のため、コンパイラによってはエラー検知してくれません
デメリットは、可読性が落ちることです
通常、「valueは1か?」と読むところを、ヨーダ記法の場合、「1はvalueか?」と読むことになるため、慣れていない人は、可読性が落ちます
そんなヨーダ記法ですが、名前の由来はスターウォーズのヨーダが、特殊な文法で話すことからきているそうです
命名者のセンスに脱帽です・・・
最近の言語は、条件式内での代入を許容しない作りになっているため、可読性が落ちるヨーダ記法は賛否が分かれているようです
■ハンガリアン記法
ハンガリアン記法は、変数名の頭に識別子としてデータ型の情報を付与する方法です
例えば、文字列を扱う変数は、str変数名にしたり、ポインタ型の変数は、p変数名にしたりします
メリットは、変数のデータ型が分かりやすくなるので、長めのコードを見るときも一々変数の定義へ飛ばなくても、データ型が読み取れることです
デメリットは、データ型の変更が発生したときに、変更箇所が多岐に渡ったり、新しいデータ型を扱うたびに、変数名の命名に頭を悩ませることでしょうか
最近では、開発環境によって、変数にカーソルを合わせるだけで、データ型を表示してくれたりするので、メリットよりデメリットが目立ち、非推奨のところも多いようです
以上、プログラミングの記法の紹介でした
1950年頃にFORTRANやCOBOLなどのプログラム言語が登場したらしいので、プログラム言語の登場から約半世紀
バグの少ない、見やすいコードを目指した先人達の創意工夫には頭の下がる思いです
それでは