Magnolia Tech

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

Clean Architectureを読んだ

Clean Architecture 達人に学ぶソフトウェアの構造と設計

Clean Architecture 達人に学ぶソフトウェアの構造と設計

週末のTwitterのTLで「リスコフの置換原則」が話題に上がっていて、改めて色々と学びが有った。

その中で、そういえば各種設計原則が紹介されている「Clean Architecture」を読んでないことに気がついて早速注文して、今日届いたので、ずっと読んでた。

読みどころとしては…まずは「設計とアーキテクチャ」に出てくる生産性のグラフ!極端な例だとは分かっていつつも、割と直感的にそうだなって思うし、ああゆうふうに数字に出ていない場合は、やはりどこかに無理が生じている(暗黙のうちに、プロセスが省略されるとか)。

その次の、プログラミングのパラダイムとして「構造化プログラミング」「オブジェクト指向プログラミング」「関数型プログラミング」を駆け足でまとめている所も、少々強引だなーと思わせる所も有りつつ、振り返りにちょうど良かった。

続く第Ⅲ部で設計の原則について語られる。割と、この辺は最近設計的な発表がカンファレンスでも増えてきたので、そこで聞いたことと照らし合わせて読むとより理解が深まると思います。

「単一責任の原則」のように語感から得られる印象とは全然違う原則であることが丁寧に書かれていて、この辺は知識を棚卸しするためにも読んだ方がいいですね。


ざっと読み終わって思ったことは、「これは一人で読むより複数人で読んで、感想を言い合う、経験を共有し合うきっかけ」にした方が良い本だな、と思いました。この本を深く読み込むことで得られることはきっと有るとは思うんですけど、これを完璧に暗記したら良いコードが書けるか?といえば当然そうではないですし、これだけを信じ過ぎるのも危険です。

設計原則はあくまで自分が書こうとしているコードを、何の指針も無く書こうとするとさすがにマズいな!という時に参考にするものであって、それに従えば自動的に良いコードができあがるルールではないですからね。

ざっと読んで、コード書いて、振り返りを色んな人とやっていきましょう!