こんにちは、もうすぐ新卒入社して2年目になる高嶋(@__1016t)です。
わたしはコードレビューで、基本的なコードの書き方やPHPでつかえる便利機能など、たくさん勉強してきました。
今回はその一部をまとめてみました。
1. インデントをそろえる
インデントとは?
ソースコードの見た目を整えてくれるもので、
ifやforなど波カッコ{}で囲まれるブロック内の各行をtabキーやスペースで字下げすることをいいます。
▼インデントなし
if ($dessert == 'papico') { for ($i = 0; $i <= 3; $i++) { echo 'デザートはパピコです'; } } else { echo 'デザートはパピコではありません'; }
▼インデントあり
if ($dessert == 'papico') { for ($i = 0; $i <= 3; $i++) { echo 'デザートはパピコです' } } else { echo 'デザートはパピコではありません' }
インデントしてあるコードのほうが、見やすいのがわかります。
入社してから知った技
逆tabインデント
tabキーでインデントした行を元の位置に戻したい!
そんなとき、いつもdeleteキーで戻していました。
しかしshift + tabキーで戻せるのです!
複数行一括字下げ
インデントしたい行が複数ある!
そんなとき、いつも一行ずつインデントしていました。
しかし、複数行を範囲選択しtabキーをおすと・・・
一括でインデントすることができるのです(逆tabインデントもしかり)
2. phpdocをかく
phpdocとは、クラスや関数などの定義前に記述するブロックコメントのことです。
phpdocを書いておくと、
– 後にソースを見返した時理解する時間が短縮される
– ドキュメントを自動生成できるようになる
というメリットがあります!
/** * @return string */ public function sample() { $dessert = 'papico'; return $dessert; }
詳しい書き方についてはこちらがおすすめです!
phpDocumentorの書き方 – Qiita
3. 演算子をつかいこなす
演算子にはさまざまありますが、わたしが指摘されたのは
条件演算子(三項演算子) と Null合体演算子 です。
条件演算子(三項演算子)とは?
条件により返す値を切り替えることができる演算のことです。
たとえば、answerが10より小さいときはそのままanswerを、
10以上のときは10と返すプログラムをif文、条件演算子でかくとき、
それぞれ以下のようになります。
▼if文
if ($answer < 10) { $result = $answer; } else { $result = 10; }
▼条件演算子
// [条件] ? [TRUEの場合の返り値] : [FALSEの場合の返り値] ; $result = ($answer < 10) ? $answer : 10;
if文よりも条件演算子のほうがシンプルにかけます。
わたしはずっと条件演算子はif文の省略形だ、と思っていたのですが違うようです。
つかいわけについてはこの記事でお勉強させていただきました!
三項演算子は悪か? – Qiita
Null合体演算子とは?
PHP7から追加された新機能で、「〜がなかったら」という処理を簡単にかくことができます。
たとえば、dessertがなかったら買いにいく、あったらdessertと返す処理を
さきほどの条件演算子、Null合体演算子でかくときそれぞれ以下のようになります。
▼条件演算子
$result = isset($dessert) ? $dessert : '買いにいく';
▼Null合体演算子
// [未定義か判定したい変数] ?? [デフォルト値] $result = $dessert ?? '買いにいく';
条件演算子よりもシンプルに書けることがわかります。
わたしは定義されていない変数によるエラーを防ぐため、??
を乱用してしまいがちなのですが、
処理コストがかかるためつかいすぎには注意が必要です。
最後に
今回コードレビューで指摘されたことを記事にまとめてみて、
わかったつもりでも文章にできるほど理解できていない事が多いな、と感じました。
今後も指摘をうけたことはまとめてチェックし、指摘数も減らしていけたらいいなと思います!
Wedding Parkでは一緒に技術のウエディングパークを創っていくエンジニアを募集しています。
興味のある方はぜひ一度気軽にオフィスに遊びにきてください。