はじめに
まいど。大阪生まれ大阪育ち、4年目エンジニアの「スイッチくん」っていうもんや
初心者の時はそれはそれは見るも無惨なコードを書いてきたワイやが、
泣きそうになるほどの先輩の厳しいレビューや素晴らしい書籍のおかげでましなコードを書けるようになってきた
そこで、ワイが普段気をつけていることを書いていくで
プログラミングうまい人からすれば「そんな当たり前なこと何いっとんねんな」と思うかもしれないが、
知らない人はこれを知っておくことで見やすいコード書けるようになるから是非みたって~
今日は、「ガード節」について説明していくで
ガード節
ガード節とは、条件分岐の後、早めにreturnなどで処理を終わらせることや
ん?全然意味わからない??ほなワイが今ハマっているJOJOを例えにして詳しく説明していくで
例で定義している関数は、名字と第何部かの変数を受け取り、その部に応じた主人公を返すものや
名字がジョースターじゃない時点で主人公ではないのが確定するので、空文字を返してるで
fucntion getJOJOMainCharacter(firstName, part) {
if (firstName !== 'ジョースター') {
return '';
}
if (part === 'one') {
return 'ジョナサン';
}
if (part === 'two') {
return 'ジョセフ';
}
if (part === 'three') {
return '承太郎';
}
return '';
}
見ての通り、各条件内に入った場合に該当する値をreturnで返してるやろ
これをするメリットは主に以下や
・該当の条件で処理が終わるので、それ以外の条件内は見なくすむ。結果、見やすいコードになる
・ネストが短くなる
逆にガード節使わんかったらこんな感じや
fucntion getJOJOMainCharacter(firstName, part) {
const mainCharacterName = '';
if (firstName === 'ジョースター') {
if (part === 'one') {
mainCharacterName = 'ジョナサン';
}
if (part === 'two') {
mainCharacterName = 'ジョセフ';
}
if (part === 'three') {
mainCharacterName = '承太郎';
}
}
return mainCharacterName;
}
見ての通り、最初に主人公の変数を定義し、各部に該当する主人公を変数に格納して最後にreturnしてるやろ
最初の「ガード節使用例」と比べてどうや??ネストは深くなっとるし、該当条件の処理に入った後でも違う条件の処理みないとあかんやろ??
こういうあかんところがなくなるから「ガード節」がいいんや
だから使ってない人がいたら積極的に使っていくんやで
ワイ??先輩に「ガード節使わんやつはカス」って言われてから使うよう意識しとるで~(泣)