How you created this whiteboard
本書を一読した後、この本は「良いコードとはどのようなものか」を人に説明するのに役立つ上に、今後何年も使える知識が載っていると思いました。そこで本書のためのホワイトボードを作成し、書籍のウェブページに掲載されている目次をコピーして、一つのカードに貼り付けました。その後、各章ごとのカードを作成し、章ごとの関係性を考えて矢印でつなぎました(左下のセクション)。
また、本書はレイヤードアーキテクチャを紹介しているため、各レイヤーの構成物をマインドマップで表現しました(中央上にあるオレンジのセクション)。
どちらもそれぞれの関係を考えながら要素を配置しました。
The thought process behind it
左上のマインドマップは、書籍の内容に基づいて「オブジェクト指向はそもそも何で構成されているか」を書き出したものです。マインドマップを作成するときは、可能な限りMECE(Mutually Exclusive, Collectively Exhaustive)で書くように心がけました。
マインドマップを作成している間に、あるものと別のものとの間に相関があったり対比構造があることがわかりました。この発見により、今まで十分理解していると考えていたことがより深く理解できる感覚を得ました。
ホワイトボードで知識を整理することの鍵は、「このカードとあのカードはどのような関係があるのか」「この要素とあの要素はどのような構造をしているのか」と考えながら整理することだと思います。このプロセスが学習を促進するのだと実感しました。そして理解が進んだ結果、今までとは違った見方ができるようになるのです。さらに、たとえ一度忘れてしまってもホワイトボードを見ることでまたすぐに内容を思い出すことができます。
ホワイトボードを作る前には自分が考えもしなかった新しい発見は、私に知的な喜びを与えてくれます。Heptabaseを使うことで、誰でも「知識の理解」「理解の保存」ができるのは素晴らしいことです。Heptabaseのような知的生産ツールはよく「Second Brain(第二の脳)」と例えられます。しかし、どこか別のところに脳が増えて賢くなるというより、Heptabaseは自分の学習と発見のスピードを加速させ、知力を増幅する「Augmentation Tool(増幅器)」だと私は考えています。
Your purpose or how you use it in your workflow
ホワイトボードを作成した目的は、本書の読書会を開催するにあたり、未読の方にも伝わるように内容を整理するためでした(https://rosca.connpass.com/event/348360/)。
また、技術カンファレンスで発表をする際、スライドの構成を検討するに当たってホワイトボードを見返しました。そこで、マインドマップでまとめていた各レイヤーを上から順番に紹介すると話が伝わりやすいと思い、スライドの構成にそのまま採用しました(https://speakerdeck.com/panda_program/how-to-write-clean-objects)。
このようにホワイトボードにまとめた内容は、人前での発表やスライドなど様々な場面に組み込むことができます。