# Clean Architecture 第一部1章読書会 ###### tags `book` ## 概要 |項目|内容| |-|-| |開催日|2021/01/31| |開始時間|16:00| |終了時間|18:00| |メンバー|niro,nyx| *** ## まえがき ### 感想・気づき P19 >アーキテクチャの魅力は構造 アーキテクチャに構造っていう要素があるんだという気づき。 魅力が**構造**だと言い切っていることがありがたい。 P20 アーキテクチャは変更コストで計測できるということにフーンと思った。 P21アーキテクチャは初期段階で決定するものと思うけど、それが必ずしも適切になるとは限らないと記述している。それはその通りだと思うが、現実問題、柔軟にすることの難しさを感じます。 アーキテクチャをクリーンにしていく道のりで大切なのは、配慮と注目、試行と観察、実践と原則が必要になるとある。ほうと思いました。 P19 印象に残った。:+1: >ソフトウェアは何で作られているだろうか? ソフトウェアはソフトウェアで作られている。 P19 >**ソフトウェアは本質的に再帰的でフラクタル** 詳細が大枠に影響してしまうことがあるのではとこの言葉から想像します。 ### 疑問 構造とパラダイムはイコールだと言っているけど、個人的にそんな風にとらえたことがなかったから甚だ疑問で、まだそうだと言い切れる要素持っていない。 P21 配慮って何だろうと疑問を持った。 *** ## 序文 ### 感想・気づき P23 印象に残った。 > **アーキテクチャのルールは同じ** P24 実際書かれているコードは50年代、60年代の頃から何も変わっていないことに言われてはじめて気づいた。:+1: (実際に書かれているコードは「順次」「選択」「反復」の組み合わせに過ぎない) >使われている素材は今も昔も変わっていない P24 初め読んだ時、アーキテクチャのルールの話をしていたのに、素材が今無昔も変わっていないといわれて戸惑った。 P25 読み進めると、素材が同じ->書いているコードが同じ>アーキテクチャのルールは同じ。と飛躍しており、段階的にアーキテクチャの構造を理解するための説明として必要だったのかなと思った。 P19 ソフトウェアは本質的に再帰的でフラクタルという記述と関連しているのかなと思いました。 P25 昔はアーキテクチャのルールが分からなかったけど今はルールが分かっていると記載されており、ほう。なるほどと思った。:+1: ### 疑問 P23 **アーキテクチャのルールは同じ** 本当にそうなのか?とは思った。 *** ## イントロダクション ### 感想・気づき P31 >ソフトウェアを正しくすれば、人材はわずかで済む。 と記載されていてそれはいいことだなと素直に思いました。 P31 作者はおそらく、ソフトウェアの正しさとクリーンなアーキテクチャはほぼ同等の意味合いで使っていると思われる。 ### 疑問 P31 ソフトウェアを正しくするときに必要なスキルが記述されているが、P21で記載されているクリーンなアーキテクチャを進むための道のりに必要な要素と異なる理由がよく割らなかった。なぜ異なるのか? P31のシステムの設計とアーキテクチャと言っているシステムの設計とは何だろうか? P33で設計とアーキテクチャは同じと言っているがそれとこれとは別の設計を指している? *** ## 設計とアーキテクチャ ### 感想・気づき P33 >設計とアーキテクチャは同じ P33 目的の記述に学びあると思いました。:+1::+1: >ソフトウェアアーキテクチャの目的は、求められるシステムを構築・保守するために必要な人材を最小限に抑えることである。 上記の記述は、驚きがあった良い設計は保守が楽になるとか、コードの記述が楽になるとか、機能追加が楽になるとか読みやすいとかそういう風にしかとらえていなかったけど、もっと大きな視点で考えると人材を最小限に抑えコストを低くすることができることの気づきを得た。 この気づきは、経営層、ビジネス層、マネージメントの層に対して設計を変更する際の材料としても大切であることを知ってもらう気づきを与えるものだと考えました。 経営陣も、コードの詳細は分かっていなくても設計が悪いのではないかを疑うことができる可能性があることも示唆していて興味深いと思いました。 P39 テストコードが無い場合の方が遅いというのは意外だなと思った。 テスト大事だなと。 TDDの優位性が出てくるのはプロジェクトが大きくなった時というイメージがあったけど、そういうわけでもないのかな~と思った。 ### 疑問 設計って何のことを言っているんだろうって思った。 - 詳細設計のことかなって思った。 - 機能と非機能で分類できるのが設計なのかなと思った。 *** ## ふりかえり ### YWT #### Y: やったこと - 1章まで読み切った。 - 初めての読書会ができた。 #### W: わかったこと - アーキテクチャのルールは同じ - アーキテクチャの魅力は構造 - アーキテクチャは変更コストで計測できる - テストコードが無い場合の方が遅い - ソフトウェアを正しくすれば、人材はわずかで済む - ソフトウェアは本質的に再帰的でフラクタル - 配慮と注目、試行と観察、実践と原則がクリーンなソフトウェアには必要 #### T: 次にやること - 2章まで *** ### KPT #### Keep - 読書会の継続 - ジャンプしながら進んでいったが、それでもいいなって思った。 - niroさんが質問してくれたことも、自分の学びにもつながるからまたやってほしいなって思いました。 #### Probrem - 事前によんでなかった - 僕ばっかり話していたことがあって問題だなって思った。 - 量が多かったから疑問点を深めることができなかったかなと思いました。 - 抽象的な話になりやすいtopicだったから仕方がない面もある。 #### Try - 事前に読む - Captionごとに内容まとめてみる。 *** ### Fun-Done-Leanrn #### Fun: - この本を読むモチベがちょっと上がった。 - 自分にない疑問とか同じように感じる点があることを知ることができたことが読書会という形式でやったときに面白いなと思った点。 - ↑に関連するけど、普通だと素通りする記述に対して疑問を持っているのが凄いなと思うと同時に学びになった。 - HackMdが楽しく使えた。 - 絵文字も楽しい。 #### Done: - 1章まで読み切った。 - 初めての読書会ができた。 - HackMD初めて使った。 #### Learn: - アーキテクチャの目的は、保守する際の必要な人材を最小限に抑えるということは学びであったと思っている。 - 読書会っという形式だとより深められそうだなと感じた。 速度 満足度 進め方