プログラムの書き方は人それぞれ。分かりやすければ多少プログラムが長くなってしまっても問題ないと考える人もいれば、省略した記述でできるだけプログラムを短くするべきだという人もいます。
しかし、どちらの流派でも共通することは「正しく動く」ということです。どんな書き方をするにしろ、正しく動作しなくては困ります。省略しても正しく動くのは、糖衣構文という方法があるからです。
今回は糖衣構文とは何か、糖衣構文を用いた書き方の例を紹介していきたいと思います。
キーワード:糖衣構文
糖衣構文とは
糖衣構文とは、プログラムの動作は変化しないが、本来の記述方法よりも読みやすかったり、短くなったりする記述方法のことです。
糖衣構文はシンタックスシュガーとも呼ばれます。
プログラムが読みやすくなると、デバックの時に助かります。
ピンとこなかった人向け
本来の記述方法よりも読みやすかったり、短くなったりする記述方法って言われても、、、
と思った方へ、安心してください。きっと、あなたも似たような考え方をしたことがあるはずです。
例えば、あなたは今日マクドナルドに行ったとします。そのことを友達に伝える際、何て言いますか?
「今日さ、マックに行ったんだけどさ〜」、「あのさー、今日マクド行ったんだよね〜」
きっと、上記のような感じで言うと思います。両者に共通していること、それはマクドナルドを省略して言っていることです。日本人であれば、マックやマクドと言われたらあの「マクドナルド」を想像するでしょう。
省略する理由はきっと、マクドナルドって全部発音するよりマックって言った方が楽だからだと思います。プログラミング言語でも同じで、こっちの書き方の方が楽だし、分かりやすいから省略して書こうといったことがあります。もちろん、どちらの記述方法で書こうと動作は同じです。
次は具体例を見てみましょう。
糖衣構文の例
Rubyを用いて糖衣構文(シンタックスシュガー)の例を見ていきます。ここで挙げている例は、ほんの一部にしか過ぎません。
条件式
if文ではよく糖衣構文が用いられています。
# 通常の条件文 if x != nil puts "xはnilではありません" end # 糖衣構文を使った条件文 if x puts "xはnilではありません" end
この例では、if x != nil
という記述はif x
に省略可能です。Rubyにおいて、nil
やfalse
以外の値はtrue
として評価されるため、x
が存在するかどうかの確認には省略形が適しています。こうした簡略化によって、条件式が読みやすくなり、コードの意図が明確になります。
三項演算子
三項演算子は、シンプルな条件文を1行で表現する糖衣構文です。以下は、通常のif
文と三項演算子の例です。
# 通常のif文 if age >= 20 status = "成人" else status = "未成年" end # 三項演算子を使った場合 status = age >= 20 ? "成人" : "未成年"
三項演算子を使うことで、条件文を1行で簡潔に記述でき、コード全体がすっきりとまとまります。
?
や:
を用いた構文は、条件に応じた値の割り当てを直感的に表現でき、読み手にもわかりやすいのが魅力です。特に短い条件分岐で頻繁に活用されるため、可読性も高く、効率的なコードの記述が可能になります。
まとめ
今回は、糖衣構文について解説しました。糖衣構文を用いることは可読性を高めたり、プログラムの量を少なくできます。
しかし、糖衣構文を多用すればよいというわけではありません。チームのコーディングルールがある場合はそれに従うことが優先です。省略し過ぎると、かえって読みにくくなってしまいます。
最後までご覧いただき、ありがとうございます。お疲れ様でした。
コメント