こんにちは。いっちー(@tetestkake_blog)です!
今回は初心者向エンジニア向けに「ガード節」に関して解説したいと思います。
エンジニア系投稿1回目です!!👏
ガード節に関して
まずはガード節とは何かについて解説します。
定義としては以下になります。
ガード (Guard) とは、コンピュータ・プログラミング言語において、条件式ないし条件分岐のような意味を持つもので、ある分岐で処理を続けるために真 (true) と評価されなければならない[1]式である。偽の場合は残りの処理のほうに進む。パターンマッチングのある言語の、パターンマッチングの能力をより強化したものと見ることもできる。すなわち、パターンマッチングとして構造がマッチしていても、その構造の中身の値を評価した結果によってはスキップさせることが可能なパターンのようなもの、である。
https://ja.wikipedia.org/wiki/%E3%82%AC%E3%83%BC%E3%83%89_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)
なんのこっちゃ。より噛み砕いていきます。
まず、ガード節でないプログラムの例を示します。
if value === "hoge"
result = "hoge"
else
if value === "fuga"
result = "fuga"
else
if value === "hogefuga"
result = "hogefuga"
end
return result
プログラムを勉強する時に、if文のサンプルでよく出てくるやつですね。
ネストがとても深くなっていますね。ネストが深いプログラムは良いプログラムではないと言われています。
次に、ガード節になっているプログラムの例を示します。
if value === "hoge"
return "hoge"
end
if value === "huga"
return "fuga"
end
return "hogefuga"
ガード節を用いて、条件に当てはまるものを早期にreturnすることで見通しの良いプログラムになります。
こちらの方がネストが浅い分、スッキリして理解もしやすいです。
エンジニアの現場では、可読性の観点からガード節を用いて書かれているプログラムをよく目にします。
また、ガード節になっていないプログラムをメンテナンス(保守)する際に、ネストが5個とかあると心がめげそうになるので、心理的にも非常に良いです!笑
今回紹介したガード節のように、知識と心がけ次第で読みやすいプログラムは書けます。
ぜひガード節をプログラミングで使ってみてください。
オススメ書籍
今回紹介したガード節の様に、より読みやすいコーディングに関して解説した「リーダブルコード」は、
全ての駆け出しエンジニアの方必見の書籍です!
コメント