mochikoAsTechのdig日記

当方好きなコマンドはdigです!お友達から!!よろしくお願いします!!!

「読みやすいコードのガイドライン―持続可能なソフトウェア開発のために」を読んだ!

先日、社内で技術書に関するイベントが行われた。執筆経験を持つ社内のエンジニア諸氏から話を聞ける、という面白そうなイベントだったので有難く参加してきたんだけど、そこで質問を投げたところ、著者である石川さんからご厚意でこちらの本を頂戴した。

ばばーん!「読みやすいコードのガイドライン―持続可能なソフトウェア開発のために」です!

gihyo.jp

実はもともとこのツイートを見て気になっていたんだけど、「私には難しすぎるんでは…」とためらって買っていなかった本だったので、とてもうれしい!

サイン入りですわよ!わいわい!ありがとうございます。

お願いしてサインを入れてもらった

「はじめに」によると、これは石川さんが2019年に公開したCode readabilityというスライド(プレゼン資料)を元にして書かれた本なのだそうです。

私、知ってるんだ…何度もプレゼンで使われて、生で色んな質問や反応を受けてきた資料をベースに登壇者が本を書くと、ものすごくいい本になるんだって知ってるんだ…!みんなが「え、どういうこと?」ってつまづいたところがちゃんと補修、補強されているので、独りよがりなところがなくなってて、初版なのに転生10周目みたいな本になるんですよ…!

ちなみに元のプレゼン資料については、そちらも石川さんが解説しているブログがあるので、そちらを見ていただくとよさそう。

engineering.linecorp.com

読みやすいコードのガイドライン―持続可能なソフトウェア開発のために」は、このCode readabilityというスライドを用いた8時間に及ぶプレゼンを生で聞かなくても、読めば同じ内容を理解できることを目指して書かれた本なのだそうです。すごい。

章立てはこんな感じです。

第1章 可読性の高いコードを書くために
第2章 命名
第3章 コメント
第4章 状態
第5章 関数
第6章 依存関係
第7章 コードレビュー

私がコードを書き始めた最初の頃に、「センスがない」と叱られた命名やコメントについても第2章および第3章をまるまる使ってしっかり解説されていて、あのときおうちで「センスが…ない…」とめそめそ泣いていた私にこれを読ませてあげたい…!という気持ちになりました。

また第7章では、プルリクエストを用いたコードレビューの仕方について解説されています。レビューイ(レビューを依頼する人)とレビューア(レビューを実施する人)、それぞれが注意すべきことが紹介されているのですが、特にレビューアに向けて書かれた「レビュー実施時の基本原則」の部分が、過去に自分が話した「文章の改善点を上手に指摘する方法」と重なる部分もあって「わかりみのかたまり~~」となりました。

ちなみに「読みにくいコード/読みやすいコード」の例として出てくるコードのベースはKotlinなのですが、なんというか具体的なコードを挙げてああしましょうこうしましょうという話だけでなく、その手前の「可読性ってどういうときに重要なんだっけ?」「可読性が低いと誰がどう困るんだろう?」「可読性を持続的に追求するにはどういう環境が必要かな?」といった「コード以前」の話もたくさんあったので、「Kotlin読めないしなー」と思ってこの本を読むか読むまいか悩んでいる方がいたら、読むといいよ!とお伝えしたいです。(現に私はKotlin書いたことないけどとても学びの多い本だった)

全編を通して「これはやめましょう」だけではなく、「こういう理由でこれはやめましょう。代わりにこうするといいですよ」が提示されているので、「なんでだめなの?!じゃあどうすればいいの?!」という心の声を響かせずに済みます。読み手への配慮が…隅々まで行き届いている…!

コード上の形式的なコメントから生成されるドキュメンテーションについても触れられていて、自分の仕事(開発者向けのドキュメントを書くお仕事)との関わりも感じてほっこりしました。

可読性と言われると難しく感じるかもしれませんが、私は初学者にこそ読んでもらいたい本だなと思いました。「命名やコメントにセンスがない」と叱られてめそめそしているそこのあなた、「まだまともにコードも書けないのに、コードの読みやすさへの配慮なんて…上級者向けでちょっと私には難しすぎるんでは…」と思わず、ぜひ読んでみてください。

gihyo.jp