# ミノ駆動本_読書py[8] みんなのメモ ###### tags: `ミノ駆動本` - このメモはWebに公開されています(HackMDチーム) - リンクを知っている人は見られます - HackMDにログインして編集できます ## お願い事項 https://twitter.com/MinoDriven/status/1541334416622256130 > 【お願い】 拙著『良いコード/悪いコードで学ぶ設計入門』に関する情報発信について。 ブログ等で発信の際は、引用の範囲を超え、著作権侵害となる場合は勿論のこと、拙著の詳細内容が分かるような表現での公開はお控え頂けると助かります。 ご感想や拙著に基づく試行錯誤は歓迎です。 #ミノ駆動本 > 拙著引用の際は、Qiitaさんの『著作物を引用する際の注意点』が参考になります。適切な引用のもと、情報発信していただけると嬉しいです。https://help.qiita.com/ja/articles/about-copylight #ミノ駆動本 とのことなので勉強会そのもので詳細内容がわかるような記述はしないように気をつけていきましょう。 ## このメモについて このメモは ミノ駆動本_読書py[8] のメモです https://pythonista-books.connpass.com/event/262554/ 読む範囲:8章の内、**8.1**を読みます! ミノ駆動本のサポートページより、Javaのサンプルコードが見られます。 https://gihyo.jp/book/2022/978-4-297-12783-1/support ## 読書会の流れ * 20:00〜20:30 **自由参加**のもくもく会(個人作業) - 事前に読む時間がとれなかった方はここで読んじゃいましょう(ざっとで大丈夫です) - 合わせて、この**HackMD**に話したいことを各自書いてください - ログインすれば書ける設定にしています - ここがわからん、ここはわかった お気軽に書き込んでみてください - HackMDの書き込みに投票し、みんなが気になるところをわいわい読み解いていきます * 20:30〜22:00 読書会本編(みんなでわいわい) * Discordでスライド共有して別途案内します * 20:30開始の本編では、「わたしこれ気になる!」という話題に `:+1:` と書いて投票します。 * :+1: する上限はありません。気になる話題に全部 :+1: しちゃいましょう。ただし1つの話題には1個だけ:+1:でお願いします * 票数が多い話題から話していきます。 ## 以下、もくもく会ワークゾーン ### 感想、気付き - - - 以下は各節で「これってどういうことなんだろう」「ここからこういう気付きがあった」などを書き出すゾーンです。 ### 8章 8.1 密結合と責務 (8.1.1に至るまでの部分をここに) - boolean (trueかfalseか) を返すaddメソッド、なんかめっちゃ処理をやってる〜 :+1: - リストにaddまでするのか。。。 - 追加に成功したら true だからね、C言語の関数的な考え方なんだよ:+1::+1: #### 8.1.1 - 流用はヤメテクレ〜 - #### 8.1.2 - こう言うのってなんで起こるんだろう?:+1: - 知識不足? - レビューなどの不足? - あるあるじゃないかな〜と思う一方で、こう言うのを生み出さないようにするのも大事な取り組みだよねと思ってきた :+1::+1: - #### 8.1.3 - 単一責任の法則(Single Responsibility Principle)。責任=Responsibility - 責務も元の語はResponsibilityなのかな? - とりあえずきのこ本を貼って置く - https://xn--97-273ae6a4irb6e2hsoiozc2g4b8082p.com/%E3%82%A8%E3%83%83%E3%82%BB%E3%82%A4/%E5%8D%98%E4%B8%80%E8%B2%AC%E4%BB%BB%E5%8E%9F%E5%89%87/ - どこまで責任を細かく砕いていくのか悩んでしまう。書いている時はしっくりしてもしばらく時間置いてから読んでみると細かすぎたり大くくりすぎたり。。 :+1: :+1: :+1: #### 8.1.4 - ついつい、色々盛り込みがち - 流れで一通りの機能を詰め込んじゃうよね - 結構こう言う話を過去にもした気がするけど、「既存がこうなっている」→「じゃあここに追加しちゃえ」ってなるような気がする #### 8.1.5 - RegularDiscountedPriceあたりの写経始めたのですが、これらのクラスをどう使うんでしょう?(8.2読んでいけばわかる?) - RegularDiscountedPriceの実装Pythonでやる場合悩む - 参考に実装 https://github.com/ftnext/exile-of-the-wicked-py/blob/f0ae6786098f13b8cde5790903725747b1cfb683/chapter8/loose_coupling.py - イニシャライザに渡されるのはRegularPrice - インスタンスが属性として持つのはamount (int) - `@dataclass(frozen=True)`でクラスメソッドで作るという実装が浮かんだ - `@dataclass(frozen=True)`使わないならfrozenを模倣する実装が必要そう - `@dataclass(frozen=True)`にする場合、イニシャライザ(`__init__`)を自分で書くのがいいのかな - 意見待ってます!:+1: :+1: - きっとリスト8.5と8.6は割引額を引数に持たせた共通クラスを作ってしまう。。〜クソコード動画行きになる #### 8.1.6 - DRY!DRY! - #### Column クソコード動画「共通化の罠」 https://twitter.com/minodriven/status/1127539251761909760 - 焼肉は全てを解決する:+1: - t-wadaさんの質とスピード思い出しました - 納期が迫っているから凌ぐための実装→直すタイミングは来ない - 逆パターンの共通化されていない・・・っていうパターンは記憶にあるなぁ :+1:
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up