読みやすいコードを書く方法
コードは書く時間よりも読む時間の方が圧倒的に長い。
だから、読みやすいコードを書くことが大事。
以下に読みやすいコードを書くためのヒントを記す。
わかりやすい名前のつけ方(変数や関数)
明確な単語を使用する
具体的な名前をつける(get,set,do,add,tmpなどは避ける)
ループのイテレータを単にi,j,kなどでなく、user_i、id_j、segment_kなどとする。
読みやすくなるし、バグも見つけやすくなる。(ui、ij、skなどの短縮名でもいい)
変数名に情報を追加する(ミリ秒なら_msなど)
誤解されない名前か?(限界値や包含関係など)
読みやすいフォーマットにする
コードのシルエット、列をそろえる
順番を変えない(ある場所でABCとなっているものをBCAなどしない)
見やすくブロック分けする
いいコメントの書き方
予想外な動き、一般的でない動きをする場所はコメントしておく
ファイルやクラスには全体像の概要コメントを書く
コードブロックごとに概要のコメントを記載する。
複数のものを挿す可能性がある「それ」や「これ」などの代名詞を避ける
入出力の実例をコメントする
詳細レベルでなく、高レベルのコメントをする
構造の単純化
条件式の引き数の並び順
左側…調査対象の式。変化する。
右側…比較対象の式。あまり変化しない。
肯定、単純、関心を引く条件は先に処理してしまう。(ガード節など)
関数からなるべく早く返し、頭にとどめておく条件を減らしていく。
ネストを浅くする。
説明変数や要約変数(式の答えを格納する変数。式の意味を説明する名称をつける。)を使う。
ド・モルガンの法則を使う。
反対から問題を考えてみる。(重なる部分を計算する、ではなく重ならない部分を計算するなど。)
一つの関数で一つの処理だけを行うようにする。単純な構造にする。
処理を切り替えない。やり始めたら終わるまで、その処理だけを行う。
ロジックを書く前に、それを自らに言葉で説明してみる。
コードはなるべく小さく、単純に保つ。肥大化するとそのための保守コストが膨大になるため。
下位の問題、低レイヤーの処理を別関数に外だしする。
同じ処理は汎用コードとしてまとめる。
変数の使い方
不要な変数を削除する。一時変数や中間結果、制御フロー変数など。
変数のスコープを狭める。
不要なグローバル変数やメンバ変数は使わない。
変数を何度も変更しない。書き込みは一度だけが理想。
//php get_template_part('cta'); ?>