オブジェクト指向設計実践ガイド読書会 - 第10回 === ###### tags: `オブジェクト指向設計実践ガイド読書会` # 開催概要 * 日程: 2022/01/15 Sat 15:00〜17:00 * 会場: https://discord.com/channels/432531367427964929/898843794101911622 * [README](https://hackmd.io/sSmTRzcQSCuvqiO7uDUkFg) # 課題図書 『オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方』(Sandi Metz 著, 髙山泰基 訳, 技術評論社) - 技術評論社, pdf版あり - https://gihyo.jp/book/2016/978-4-7741-8361-9 - Amazon - https://www.amazon.co.jp/dp/B01L8SEVYI # 実施要領 - 事前読書なし。都度その場で読んで、感想を書いて、議論する、を繰り返す。 - 参加スタイルは自由形。チャットでも音声でもご自由に。 - 主催はチャット参加です。 # 当日までの準備 1. 課題図書を手元に用意する - 買う、借りる、etc(?) 2. 当日までに読んだり読まなかったりする - 当日その場で読むので、事前に読んでおく必要は無し - 気になったら事前に読んでおいても良し # 当日の進行 各説明は、ファシリテーター用テンプレを兼用 ## 進行フロー https://hackmd.io/sSmTRzcQSCuvqiO7uDUkFg?view#%E9%80%B2%E8%A1%8C%E3%83%95%E3%83%AD%E3%83%BC ## 開催コール https://1.bp.blogspot.com/-YrhlmWQ4uIQ/UrlmxoUdDeI/AAAAAAAAcLw/M6VFUKHnTos/s400/text_start.png ## タイムキーパー募集 ``` 今回の進行にあたり、タイムキーパー = タイマー設定を行ってくれる人を募集します。 「やっても良いよ」という方は、このコメントにリアクションをしてください :pray: リアクションしていただけた方からランダムで選択します。 ``` ``` !timer 2 ``` ## 読書パート ``` - 範囲指定は節・項の単位 - 並行して、感想や疑問点をmdに書き込む - 時間が余ったら範囲を超えて読んでも良いが、感想・疑問点を書き込むのは指定範囲まで ``` ## 投票パート ``` - 議論したい箇所 → :thinking_face: - 議論したいわけではないが、共感した箇所 → :+1: - 議論したい箇所を優先してピックアップ - 共感した箇所は、議論したい箇所が終わったら、「特に話したいトピック」として提示されればピックアップ - 「特に話したいトピック」が提示されなければ、次の節へ - :+1: は、スルーされる可能性あり. スルーされたくないテーマは :thinking_face: をつける ``` ## トークパート ``` - :thinking_face: 付きのコメントを優先 - :+1: は、「これを話したい」という指定が有れば話す ``` ``` 特に話したいトピックがあれば ``` ``` !timer 2 ``` ## 終了コール http://3.bp.blogspot.com/-zgTNWF_hBmI/UZYlh9RhuDI/AAAAAAAATQ8/dymPl5P4eAs/s500/undoukai_relay_animal.png # タイマー 時間管理はタイマーbotで行います。 VCチャンネルに入っている人を対象にメンションが飛ぶので、VCチャンネルへの参加をお願いします。 また、タイマーは終了時に **音声がなる** ので、ご注意ください。 # 読書メモ ## クラスが単一責任かどうかを見極める p.43-44 ### discord開始地点 - https://discord.com/channels/432531367427964929/898843794101911622/931802966556541019 ### 感想 > さらに「Gearさん、あなたのタイヤ(のサイズ)を教えてくれません か?」なんていう質問は、完全にばかげています。 - p.43 - タイヤ(のサイズ)を教えてくれませんか、の()なしだとありそうな気がしてしまったけれど、原文は `there’s a Wheel in here somewhere` だった。確かにやりたいこと不明。(そもそもギアに、これを聞いてるとこが論点なんですが) :+1: > p.43: 「あなたのタイヤは何ですか」(中略)不快な驚きを覚 えるかもしれません。 - 全体的に日本語を読み解けなくて何いいたいのか分からなくなった。 :+1: > クラスが実際に何をしているか定めるためのもう一つの方法は、1文でクラスを説明してみることです。 - これはわかる。変に省略したり、英単語並べたりしないで、母国語の1文で説明してみるといい気づきになる。 :+1: :+1: :+1: > p.44: Gear クラスの責任は(中略)「自転車へのギアの影 響を計算する」ことぐらい - 計算することが責務なのか、ギアの存在を表現する (その結果として、影響力の一つとして計算することが含まれる) のか微妙なところ。 - 用途が明示されていないので、この時点で責務が何かを論じきるのはむずかしい。 > たった一つの - 全然関係ない余談だけど、このフレーズを目にすると『たった一つの冴えたやり方』を思い出して、ひぃってなる ^^; :+1: ### 疑問 > p.43: あたかもそれに知覚があるように - 知覚ではなく知能/知性では? :thinking_face: - [→トークパート](https://discord.com/channels/432531367427964929/898843794101911622/931814356440744026) - って思って、あれでじゃぶ? って思ったら、前回ページを間違えて書いてた ><; - 原文だと `One way is to pretend that it’s sentient and to interrogate it` で、対応する語は `sentient` っぽいので、この部分だけ切り出せば「知覚」の方が訳としては正しそうではある - が、そもそも原文の説明が怪しそうと言っても良い気がする - (to pretend と to interrogate で主語がすり替わってないだろうか、とか) > たとえば「Gearさん、あなたの比を教えてくれませんか?」は、とても理にかなってい るように思えます。しかし「Gearさん、あなたのgear_inchesを教えてくれませんか?」という のはしっくりきません。さらに「Gearさん、あなたのタイヤ(のサイズ)を教えてくれません か?」なんていう質問は、完全にばかげています。 - p.43 - 「理にかなっている」「しっくりこない」「馬鹿げている」という評価について、各問いのどの点がどのようにしてそれぞれの評価に至るのか、特に説明が無い - そのせいで、非常に主観的な説明にとどまっている :+1: :+1: - 主観的な説明にとどまっているので、その評価が適切か不適切か、判断する指標も作れない…… :+1: > p43l15 以前の話を思い出せば、クラスは出来る限り最小で有用なことをすべきでした。 - [→トークパート](https://discord.com/channels/432531367427964929/898843794101911622/931803050648154162) - 結局クラスは小さいほうがいいの?前回の脱線トーク(コミュニティ内での話)とは違うことを言っているので確認したい。 - 「小さい」の定義からですかね。まずはそこからだ!:thinking_face::thinking_face: > p43 歯のある2つのスプロケット間の比を計算する〜 - 自転車のドメイン知識が乏しいのでこれが多くのことをやりすぎているということがちょっとピンときてない:+1: - sprockets で検索したら、Railsの話ばかり出てきた。。。 > p44l3 SRPはクラスがたった1つの限られた事をするよう求めなければ、たった一つの些細な理由の為に変更されることも求めていません。 > その代わりに、クラスが凝集していること、つまり、クラスがすることはすべて、そのクラスの目的に強く関連することを求めるのです。 - [→トークパート](https://discord.com/channels/432531367427964929/898843794101911622/931809628797407252) - つまり「責任」の単位より凝集度が高いかどうかがSRPでは重要という事なのか? :thinking_face: :thinking_face: ## {読書範囲} ### discord開始地点 ### 感想 ### 疑問 # 次回実施 ## 予定 2022/01/22 Sat 15:00〜17:00 ## 再開地点 クラスが単一責任かどうかを見極める p.43-44 のトピック選択パートから https://discord.com/channels/432531367427964929/898843794101911622/931821461126135858 # ふりかえり - 感想/次回の課題それぞれで5分 - 要望に応じて :okawari: ## 感想 ### 気づいたこと、気になったこと - 1節で終わった。個人で読むと1分で済ませてしまうところを、1時間半かけて深堀できるのは読書会のいいところ。:+1: - おかわりしたそうな気配を感じて延長するかの判断すると楽そう(投票大変)。タイマー役は延長の基準が無いと大変だけど。 - 単一責任原則を実現する上で目指す方針が前より鮮明になったので参加できて良かったと思う。 - 確実に定義を踏まえながら語る、というふいんき(なぜかry)を醸し出しつつ、実際にはかなりノリとふいんき(ry)で書いてる気配があるので、注意深く読まないと著者のノリとふいんきに流されてしまいそう - 英語の勉強にもなる。ノリで英語読んでるから、改めて話すと難しい。 ### 疑問点 - 元の基準は「:goti: > :okawari: なら次」だったけれど、 :okawari: がいたらちょい延長してた。 - 多数決で行った方がいい? - 全会一致の方が良いと思う。:+1::+1::+1: - :okawari:は1票でもあったら、気になるところがなくなるまで延長ぐらいでも良いかも - 途中あったように、「〜になったら:goti:で良いです」という表明もアリ :+1::+1: - 少数 :okawari: の時の延長は、再延長なしが良い? - 「理由を述べよ。」をして判断するとか? ### 仕事に活用してみたいこと ## 次回の課題 [まとめ用mdに追記](https://hackmd.io/wfDfaf4nRQuPG1BYtcy_jA)
×
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