Magnolia Tech

いつもコードのことばかり考えている人のために。

『13歳から鍛える 具体と抽象』...大人も今すぐ読むべき設計のスタート地点

設計の基本は、「具体と抽象」の間を自在に行ったり来たりできるスキルに有ると度々言われます。つまり、「具体と抽象はどう違うのか?」ということが理解できていないと良い設計はできないのです。

ではどうやって、この「具体と抽象」を学べば良いのか?

実践の中で何度もレビューを受けて、修正されて理解していく、というのも一つの道ですが、ここはやはり先人達の知恵に頼りましょう。

これまでも同じテーマで本を出版されていた細谷 功さんの最新作『13歳から鍛える 具体と抽象』はなんとこの「具体と抽象」を13歳に教える、という設定で極めて分かりやすく解説されています。

特に、”抽象とは「共通の特徴」で関係づけること”から始まる抽象化の過程「個別の具体を観察して」→「共通点を抽出して」→「名前をつける」...という一連の行動はまさにソフトウェア設計における抽象化の行為そのものです。特に最後の「名前をつける」ことの重要性は繰り返しソフトウェアのプラクティスの中でも語られてきました。

また、抽象と具体が綺麗に分かれるわけではなく、グレーな部分があること、階層に分かれること、抽象化と具体化を繰り返しながら対象を理解していくこと、抽象化が勉強やコミュニケーションに役にたつことなど、盛りだくさんの内容になっているので、飽きさせません。

ソフトウェア設計を行うすべての人に、ぜひ読んでほしい1冊です

しかし、100万部突破って書かれていますけど、10代で抽象化をしっかり学んだ世代が社会に出てきたら、我々の世代はどうすればいいんでしょうね......


ちなみに、実装における抽象化の話になるといつもこの資料を引っ張り出して紹介しています。このスライドも抽象化を学ぶ上ではとても学びがある内容になっています。

speakerdeck.com


これまでの細谷 功さんの抽象化に関する著書はどれもおすすめなのでぜひ読んでみてください。