読者です 読者をやめる 読者になる 読者になる

maitake219

とあるSEの徒然なるweblog

読みやすいコード

そもそも、何をしているかを自分の言葉で説明出来ないコードを書いてはいけない。
説明出来るコードを書いたとして、その説明は他者がすぐ理解出来ただろうか。
理解するのに時間がかかってしまうなら、そのコードはまだ改善する余地がある。

コメント

  • コードから読んで分かることをわざわざ書かないこと
  • 名前のつけ方が悪いものをコメントするなら分かりやすい名前をつけてコメントが無い方がいい
  • コードに対する考え方や性能、欠陥についてコメントに残す
  • コードを読んですぐに仕様がわからないものはコメントを書く
  • 自分が分かっていても他人が見てわからないことはコメントにする
  • コメントに実例を載せる場合は簡潔に
  • 分かりづらい引数にはインラインコメントを

制御フロー

  • 三項演算子はそれを使って簡潔になるときだけ使う
  • if文は自然な順序で記述する
  • do-statementを避ける
  • 関数の出口を複数設けることは、関数の処理を早く打ち切ることが出来る利点である
  • goto-statementを使わない
  • ネストを浅くするためにcotinueが有効なこともある

コードを読みやすくする

  • 頭が良さそうなコードより行が増えても読みやすいコードを書く
  • 説明変数や要約変数を使うとコードの見通しが良くなることがある
  • 論理式が読みづらくなったらドモルガンの法則で読みやすくなることがある

変数の扱い

  • 一度しか使ってない一時変数を削除する
  • 中間結果を保持する変数を使わない処理体系に変える
  • 変数のスコープを縮める
  • JavaScriptではグローバルスコープに入ることを防ぐために変数を定義する時は常にvarを付ける
  • constやfinal修飾子で変数を書き換えられないようにすることで変数の追跡を容易にする

メソッドの抽出

  • そのコードが実現することに関係無い処理をしている箇所はメソッドに切り出すことが出来る
  • メソッドに切り出すことでコードの独立性が上がり、改善が楽になる
  • 1メソッド当たり1タスク

コードリファクタリング

  • コードを簡単な言葉で説明出来るようにするとコードはより自然になる

テスト

  • テストしやすいコードを書くことでコードはより自然になる
  • テストメソッド名は何をテストしているか分かりやすく付ける
  • 結果を確認するメソッドは様々なテストケースを実行するために再利用されることから別に切り出すといい
  • テストが失敗した場合、バグの原因を見つけやすいようにエラーメッセージを表示するといい