【書評】綺麗にすることに時間をかけることで時間ができる「リーダブルコード」

なぜ綺麗なコードを書くことが求められるのか…

それは綺麗なコードの需要があるからだ。

以前の記事で書いた「IoTとは何か 技術革新から社会革新へ」には著者である坂村健先生は、オープンな技術が今後発展していくことを示唆していた。

それに伴いプログラミング技術が必要となる。

つまり読めるプログラムが求められている。

そこで私はDustin BoswellとTrevor Foucherの共著であり角 征典さんが訳したリーダブルコードを読むことにした。

https://amzn.to/47yuij0

この本はコーディングを美しくそして他人にもわかりやすく書くための本となっている。

個人の開発の人にも有効である。

なぜなら、他人には半年後の自分も含まれているからである。

そして何よりこの本自体が読みやすいのが特徴だ。

ユーモアあふれる言い回しやクスッと笑える挿絵がプログラミングの本のハードルを低くしてくれる。

私はアマチュアということもあり前半部分に特に感銘を受けたが、スキルが高い方なら満足な一冊だろう。

  • 読みやすいコードとは?
  • 変数の名前の付け方は?
  • コメントの付け方は?

という疑問に答えてくれた。プログラミングを始めたばかりの人は特に共感する部分だと思う。

読みやすいコードとは?

読みやすいコードとは誰もが速く理解できるコードである。

それは面白いとは違う。

著書の中にも「冒険。興奮。ジェダイはそんなものは求めておらん。」というヨーダの台詞や

「おばあちゃんがわかるように説明できなければ、本当に理解したとは言えない。」というアインシュタインの名言が引用されており思わずハッとさせられた。

これをプログラミングで実践するならインデントをそろえる。引数をそろえる。

グローバル変数を使わない。生きている変数を減らす。while~doという上から条件が読めないものを使わない。という基本的なことから始めることが出来る。

なかでも変数とコメントについて深掘りする。

変数の名前の付け方は?

変数はなるべく具体的であるのが好ましい。

これはとても共感できる。

自分もtimeという変数を使っていたが、後々何の時間を定義しているんだ?となることがあった。

変数を短く具体的にするのが良い変数の名付け親になるチャンスである。

本書の中でも変数はコメントでもあると記されていた。

これを完璧にこなせば変数を説明するコメントは無くなるので見やすくなるだろう。

コメントの付け方は?

プログラムが全く分からないとき、一行一行プログラムにコメントをつけていた。

これはプログラミング学習においては有効で合ったと思う。

ただ、開発するという観点から考えると煩わしいと思うコメントもある。

例えば、

// aを表示する
print(a)

というのをみてどうだろう。

リーダブルコードにはこういった一行の処理をコメントするのは意味がないと書いてある。

なぜその行が必要なのかを書くことがコメントマスターの近道のようだ。

つまり流れをつかませる必要がある訳だ。

先ほどの礼で言えば

// 1が表示されれば正常に動いている
print(a)

とい感じになるだろう。

ただ、コメントを渋っていると何がしたいのかわからないというのが読んでてある。

コメントは頭の中で考えていることを何でもいいから書くべきだそうだ。

そして、その書いた内容をできるだけ短くすればもっと読みやすくなるそうだ。

読み終えた上で

私は現在SONYの主催しているハッカソンに製品を発表するために現在マイコンボードであるSpresenseにプログラムを書いている。

それはとても汚いコードだった。

しかし、この本を読んでから綺麗に書こうという意識しコードの整理に時間をかけた。

そうした結果、自分のやりたいコードを追加したいとなった際に簡単にプログラムを組み込めることに気づいた。

リーダブルコードを完全に吸収したわけではないがまず取り組んでみて経験を積むことも大切だと分かった。

この本の締めくくりにも解説の須藤 功平さんが

実際にやる→当たり前にする→コードで伝える

という3つのステップを提唱していた。

人に見せてフィードバックももらっていきたいと思う。

そういった「わかりやすくする」「実践あるのみ」「コーディングスキル」

という3つのことを学ばせてもらったことにより私の将来がまた広がったと実感している。

コメント

タイトルとURLをコピーしました