あなたにとって読みやすいプログラムコードって、どういうものですか?
処理がシンプルであったり、わかりやすい関数名やコメントがあること、でしょうか。
どうせ書くなら、読みやすい/理解しやすいコードにしたくないですか。
本書「リーダブルコード」を読むことで、読みやすいプログラム・可読性を高めるための手法とメリットを知ることが出来ますよ。
みなさん、こんにちは! Nくまです。
今回は、ソフトウェア開発の書籍『リーダブルコード』について紹介と書評を書かせていただきます。
私は一介のソフトウェアエンジニアに過ぎませんが、実際にコード書いてて思うことは、プログラムコードは書いて動けばいいというわけではなく、読みやすくすることも重要ということは頻繁に感じます。
コードを読みやすくすることで、過去の自分が作成したプログラムが理解しやすく、再利用しやすくなったり、複数人で作業するプロジェクトにおいて、お互いに改変したりバグ修正することが簡単になるからです。
ただ、現実としては過去の自分のコードが理解しにくかったり、他人の意図が分からなかったりというのはよくあり得る話です。
そこで、今回は『リーダブルコード』という書籍の紹介と感想、読みやすくする重要性について書いてみました。
『リーダブルコード』を読む前と後で、コードを書く際の思考が変わるかもしれません。
本書で述べられている一つでも参考にすることで、自分が書くコードを読みやすくしつつ、結果的に品質を良くしていきたいですね。
本書を読むキッカケ
本書を読むキッカケですが、リベ大・両学長のオススメ書籍にあり気になっていました。
プログラミングに関しては、私は仕事で(ほぼ毎日のように)使っていますので、少しでも良くしたいという気持ちもあります。
それに、自分一人だけのコードというわけではなく、
- 複数人で編集したり、
- 改変した部分をチームでレビューしたり
することは日常茶飯事なので、読みにくいコードというのはそもそも理解に時間かかりますし、バグの温床になりやすいです。
これはあるあるだと思いますが、実際、他人が作ったコードが理解しにくいものだったり、レビューしたくて理解に時間がかかってしまうことが良くあります。
補足資料があったりすると理解の手助けになるのですが、そういうものが無かったりすることも多く、無駄な時間がかかっていることを感じていました。
よって、こういう本を読んで少しでも実務に活かしていきたいと考えております。
本書からの気づき
本書のデメリット
本書は主にプログラミングに関する本になっているため、対象となる方は限定的となります。
また、人によっては以下のようなデメリットがあるかもしれません。
- 既に知っている内容が多くて参考にならないかも。
- 名前に意味をもたせる。わかりやすい条件分岐
- 内容がシンプルすぎて、物足りなさを感じるかも。
全体を振り返ってみると、経験豊富なベテランエンジニアには物足りなさを感じるかもしれません。
本書のメリット
まずは、気軽にさっと読めることが本書の特徴です。ゆるく提案されていて、読者の可能な範囲で考えることが出来ます。
また、コードの読みやすさ/理解しやすさにつながるシンプルなテクニックを知ることが出来ます。
処理は同じでも、読みやすくする事例がいくつも紹介されており、大変おもしろいし、参考になります!
私が印象に残っているのは以下の3つです。
- 名前に情報を詰め込む
- 適切なコメント
- 分かりやすい条件分岐
順番に見ていきましょう。
名前に情報を詰め込む(変数名、関数名は分かりやすく)
普段、私は、C言語やPythonからアセンブリ言語まで、ちょっとずつ触っています。
そんな中、変数名や関数名をぱっと決められない時があるので、悩ましいです(適当な名前になったり、長くなりすぎてしまったり・・・)。
本書では、こういうときはこういう英単語という一例があるので、それを参考にできるのがいいところですね。
また、具体的な名前が良いということで、あまりシンプルになりすぎないようにしたいものです。
一方で、変数としてtemp, tmp, retval を定義して使ったりしますが、あまり意味が通じないものについてはなるべく避けるようにします。
適切なコメント(正確で簡潔)
効果的なコメントは合ったほうが理解しやすいです。
特に、どのような考え・思想・狙いがあるのか。そういうのはコードから読み解けない場合がありますからね。
私の場合、コメントはどちらかというと多めに書いてしまうため、かえって読みにくいと言われることがあります。
無駄なコメントや冗長なコメントは不要ということで、効率的・効果的なコメントを気をつけていきたいものです。
分かりやすい条件分岐
複雑なロジック・判定文をシンプルにすることで、条件分岐が分かりやすくなります。
条件分岐やループ文はよく記述する一つになります。
そんな中、複雑なロジック・判定文は読んでもすぐ理解できないことが多いですし、間違いのもとになってしまうますね。
簡単なことではありますが、判定文をシンプルにしたり、書き方を少し工夫するだけでも読みやすくなるようなので、実際にやってみたく思いました。
コードの見やすさの重要性(経験上)
繰り返しになってしまいますが、私の経験からも、コードを読みやすく/見やすくすることは重要です。
仮に読みづらい/理解しづらいコードだった場合のことを考えてみました。
一方で、想定される良いパターンを考えてみました。
本書でも述べられていますが、自分が書いた昔のコードはどういう狙いがあったのか、どういう意図だったのか忘れてしまうことがあります。
そういうときにこそ、コメントを残しておいたりとか、文書メモやフローチャートを残しておけばよかったとか、考えることが多々あります。
そんな状態でもありますし、他人のコードを読んで分かりにくいことは多々あります。
設計思想や、どういうアルゴリズムなのか、人によって考えることはバラバラなので認識が合っていないところがあるのでしょうね。
せめて、本書で述べられている読みやすいコードで書いたりしていきたいものですね。
また、それだけでは足りないこともあるかと思いますので、どういう考えで作ったのか、設計思想について何かしら残していきたいものですね。
まとめ
今回はプログラミングに関する書籍「リーダブルコード」について記事にしてみました。
本書を読むことで、読みやすさ/可読性についてのテクニックを知ることが出来たことと、普段はなかなか気づくことが出来ない、コードの読みやすさのメリットを知ることが出来ました。
- 複数人で取り組むプロジェクトにおいて、理解しやすいと有利に働く。
- 自分が書いた以前のプログラムを忘れていることがあるため、思い出すことが容易になる。
私にとって、本書の半分以上は新しい知見でしたし、これをキッカケに読みやすさについても考えるようになりましたので、私のようにプログラミングされる方にとって必読の書となっております。
これからプログラミングを始める方や、少しでもコードを書いている方にとって有益な情報がありますので、気になる方は本書を読んでみてください。
追伸
自分にとってプログラミングはそこまで得意とは思っていないので、あまりこういう記事は書くつもりは無かったのですが、本書を読むことでいい影響を受けました。
さっそく出来るところから活用してみようと思います。
また、この記事を書こうとしたのも、この本を読むことで実際に名前をどうしようかとか、正確で簡潔なコメントは何だろうとコーディングの際に考えるようになったからです。
それが、実際の読みやすさにつながっているかはまだわかりませんが、いい意味での影響を受けた本なので、紹介させていただきました。
みなさまの参考になれば嬉しいです。
それではまた🐧
コメント