読みやすいコードを書くために
読みやすいコードを書くために : この記事は、社内向けに書いた資料を公開の許可を得て加筆修正したものです。 記事中の具体例やサンプルコードはJavaScript/TypeScriptで書かれていますが、内容自体は言語にかかわらず使えます。 同僚の @shisama にも手伝っていただきました。 随時更新していきます。モチベーションが続けば。 はじめに 読みやすいコードは、コメントがなくても 文章を読むように理解できます 。 逆に、読みにくいコードはコメントがあってもさっぱり意味がわかりません。 文章を読むように理解できるコードを書くために普段気をつけていることや、コードレビューの際に重点的に見ているところをまとめました。 普段から読みやすいコードを心がけている方にとっては何も目新しい物はなく、当たり前に気をつけているであろうことばかりです。 特にプログラミングを始めたばかりの方は参考にしてみてください。 命名について 読みやすいコードを書く第一歩は、 わかりやすい名前をつけること です。 わかりやすい名前とは、具体的には以下のようなものです。 役割がわかる名前 誤解を招かない名前 変数名・プロパティ名 以下のことがわかるような名前をつけましょう。 どんな情報が入っているか? ユーザーIDか?ユーザー名か?それらを含むユーザー情報オブジェクトか? 入っている情報がわかれば、型も容易に推測できます。 単位は何か? 例えば時間の場合、日か時間か秒かミリ秒か(それとも YYYYMMDD の文字列か Dateクラス のインスタンスか Moment.js のインスタンスか)曖昧になりがちなので、はっきりわかる名前にしてください。 悪い例 data あらゆる情報はデータなので、これだけでは何が入っているのかわかりません。 一時的に使う、スコープが数行程度の変数(ソート用の比較関数の引数等)であればあまり問題にはなりませんが、処理の根幹に関わる変数がこんな名前だと混乱の元です。 user どんなユーザー情報が入っているのかわかりません(ユーザーID?ユーザー名? {id: 1, name: "John Doe"} といったオブジェクト?) 唯一許されるのは...