こんにちは、2025年内定者の千木良です。現在は東京国際工科専門職大学4年生で、2025年4月に弁護士ドットコムに入社予定です。
この記事では、弁護士ドットコムの必読書である「リーダブルコード」を読んだため、学生エンジニア視点で重要だと思った点をまとめた記事になります。
ボリュームがある記事になってしまいましたが、この記事を読むだけでエンジニアとして一回り成長できる内容になりましたのでぜひ最後まで見てもらいたいです!
この本が必読書である必要性
これは私が本書を読んで感じたことですが、この本を読んでいるチームと読んでいないチームでは開発速度が全く変わってくるんじゃないかなと思いました。チーム全体で好き勝手にコーディングを行ってしまうと、チームメンバーや未来の自分がそれらのコードを見返したとき、理解に時間がかかってしまうからです。
コードの理解に時間がかかってしまうと、新たにコードを書く時間が減ってしまい開発速度が落ちるため、コードを書く時間以外をできるだけ減らすために、フォーマットが整ったコードを書くことが必要不可欠だと思いました。
そして、チームでフォーマットを整えるためには、リーダブルコードを読むことが最短で最善であるため必読書として選ばれたんじゃないかなと思います。
リーダブルコードとは?
本書の目的は、この本を読んだエンジニアのコードをよりよくすることが目的です。
そのためのテクニックや考え方をわかりやすく説明しています。本書では、C++やJavaのサンプルコードを用いてテクニックを紹介しているため、具体例を知ることができます。
また、フレームワークや言語独自のテクニック的なものではなく、どの言語でも使うことができる汎用的なコーディング技術を学ぶことができます。
こんな人におすすめ
本書は、プログラミングをする全てのエンジニアが読んだ方がいいと思います。エンジニアは、基本的にチームで開発を行うため、一人だけ可読性の高いコーディングを行なっても他のチームメンバーが可読性の低いコーディングをしていたら意味がありません。
そのため、これからチーム開発を経験する新卒エンジニアからベテランエンジニアまで、本書を読めば可読性の高いプログラムを書けるようになります。
この記事を読んでより理解したいと思った方や改めて読み直したいと思った方は、ぜひ本書を手に取ってより高次元なエンジニアを目指してください!
本書の重要ポイント
コードを改善することは、難しい関数を使ったり計算量を減らしたりすることだけではありません。
適切に変数や関数を命名したり、コードをフォーマットしたり、優れたコメントを記述するだけでも変わってきます。
今回は、リーダブルコードの中から特に重要だと思ったテクニックを抜粋したので、今後のコーディングに取り入れてみてください。
名前の命名を意識しよう
名前に情報を埋め込む
名前とは、短いコメントのようなものです。そのため、しっかり意味のある情報を埋め込む必要があります。
本書では、6つの命名規則を掲げています。
命名規則
- 明確な単語を選ぶ
- 汎用的な名前を避ける
- 抽象的な名前よりも具体的な名前を使う
- 接尾辞や接頭辞を使って情報を追加する
- 名前の長さを決める
- 名前のフォーマットで情報を伝える
ここでは、私が特に重要だと思った3つを紹介します。
明確な単語を選ぶ
英語には似たような意味の単語がいくつかあります。しかし、それぞれ微妙にニュアンスや意味が異なってきます。
Stop()関数と聞くと何かの動作が止まることが想像できます。しかし、一時的に停止ではなく永久に動作を止めたいならKill()関数という名前の方が似合いますよね。
このように1つの単語をとっても伝わってくる印象が変わってくるため、単語選びはより自分が表現したいものに近いものを選ぶことが適切です。
汎用的な名前を避ける(あるいは使う状況を考える)(tmp,retvalなど)
汎用的な名前には情報がありません。これでは読み手がコードを理解するのに時間がかかってしまいます。
誰にでも読みやすいコードを書くならば、できるだけ汎用的な名前は使わないように心がけることが重要です。
抽象的な名前よりも具体的な名前を使う
抽象的な名前では、読み手に誤解されてしまう場合があります。わざわざ抽象的にする理由はないので具体的な名前を命名することが大事です。
具体的に命名することで、その変数や関数をしっかり理解できます。
誤解されない名前にする
具体的な名前を記述しても、読み手に誤解されては意味がありません。そのため、命名した名前が誤解を与えないのか今一度考えてみることが大切です。
コメントする際はなぜ記述するのか考えよう
コメントの目的を考える
コメントをする目的は書き手の意図を読み手に知らせることです。
コメントをする際には3つのキーポイントがあります。
3つのキーポイント
- コメントするべきではないことを知る
- コードを書いているときの自分の考えを記録する
- 読み手の立場になって何が必要になるかを考える
コメントするべきではないことを知る
コードからすぐわかることは、わざわざコメントする必要はありません。必要のないコメントを記述することで、プログラムが長くなり理解するのに時間がかかってしまいます。
また、関数名や変数名で伝わらないからといってすぐにコメントを書くのは良くありません。しっかり命名規則を守り、その上でコメントが必要であると感じたらコメントを記述するべきです。
コードを書いているときの自分の考えを記録する
コメントを書く目的は、読み手にコードの意図を理解してもらうためです。
そのため、コードを書いているときの自分の考えを記録することで、誤解を招かないでコードの意図を理解してもらうことができます。
読み手の立場になって何が必要になるかを考える
プログラムを作成しているときに、あらかじめ読み手が疑問に感じると思った部分にはコメントをしておくことが大切です。
読み手に気持ちよくコードを読んでもらい、素早く理解してもらうことで開発を迅速に進めることができます。
コメントは正確で簡潔に
コメントを読むということは、その分コードを読む時間が減ってしまいます。そのため、できるだけ正確で簡潔に記述することを意識しましょう。
1行で書く
わざわざ難しい説明を1行で書く必要はありません。ただし、複雑ではない関数の説明は、簡潔に1行で記述するべきです。
曖昧な代名詞は避ける
「それ」や「これ」などの代名詞を使うと読み手に誤って伝わる可能性があります。代名詞は使わずに、名詞を使っていきましょう。
コメントを書く癖をつける
結局何も書いていないコードよりも、何かコメントがあるコードの方が理解しやすいです。
できるだけ積極的にコメントを書いていきましょう。
変数を意識して使う
変数を適当に定義するとプログラムが理解しにくくなります。理由は3つあります。
- 変数が多いと変数を追跡するのが難しくなる
- 変数のスコープが大きいとスコープを把握する時間が長くなる
- 変数が頻繁に変更されると現在の値を把握するのが難しくなる
変数を意識して使うための工夫方法を紹介します。
変数を削除する
コードが読みやすくならない変数は削除しましょう。
変数の数が減少すると、変数について考える時間が減るため、コードを理解しやすくなります。
変数のスコープを縮める
「グローバル変数は避ける」というアドバイスは誰しもが聞いたことがあると思います。理由は、グローバル変数がどこでどのように使われているかを追跡するのが難しいからです。
また、ローカル変数を使っているつもりだったのにグローバル変数の値を修正してしまったり、その逆が起きたりします。
グローバル変数に限らず、全ての変数の「スコープを縮める」ことは重要な考えになります。
さいごに
リーダブルコードは、全てのエンジニアが意識するべきことが書かれています。まだ読んだことがなかった方も一度読んだことがある方もこの機会にぜひ本書を手にとって、より良いコードを書けるようになりましょう。
来年度からは新卒エンジニアとして弁護士ドットコムで仕事をする予定なので、今回まとめた必読書をもとに最高のエンジニアになれるよう頑張っていきます。