Object-Oriented Conference 2024、素晴らしいカンファレンスをありがとうございました!1
このエントリは、タイトルが全てです。
目次
- 目次
- ソフトウェアを作りたかった私へ 〜変更しやすいコードを書くコツが見えてきた今伝えられること〜
- 「アーカイブで見てください!」
- 発表後記
- おまけ:ガイドブックに寄稿しました
- 終わりに
- P.S. 関連ブログエントリ
ソフトウェアを作りたかった私へ 〜変更しやすいコードを書くコツが見えてきた今伝えられること〜
資料類
#ooc_2024 13:00 Track Dの私のトーク
— nikkie / にっきー (@ftnext) 2024年3月24日
「ソフトウェアを作りたかった私へ」
発表資料を事前に公開します〜 #ooc_2024_dhttps://t.co/PCUTMUOjoM
ミノ駆動さんと成瀬さんはじめ他にも興味深いトークが目白押しの時間帯!
スライド見ていただくだけでも、アーカイブで見ていただいても私は嬉しいです https://t.co/QZ85inqZ63
発表中の様子
page=36 〜 42 が(裏のトークも含んだ)ツイートでした。
forteeにも発表時間帯のツイートに飛ぶ機能がありますね
「アーカイブで見てください!」
前夜祭のランダム対談から参加していますが、裏番組が強すぎて(特にミノ駆動さん・成瀬さん)、「私のトークを聞きに来て」とは全然言えなかったです。
カンファレンスで聞くトークってときに人生が変わるきっかけにすらなると思うんですよね。
私はミーハーで、カンファレンスでは著者のトークを生で聞いて、心に火を灯してもらうって経験が多いです。
設計に関して著書がある方たちに私が伍するとは、到底思えていません。
そうなると、ブロードキャストできる場では「俺を聞け」なんて言えなかったのです。
聞くトークを迷っているんだったら、その方の事をよく知らない以上、ミノ駆動さんや成瀬さんのトークを聞いた方が人生によい影響をもたらす見込みが高いんじゃないかな〜
今回の発表、ピンポイントに過去の私向けで、私以外の人類にどれだけ刺さるのか未知数だった(自信がなかった)というのもあります
#ooc_2024 今回どの時間帯にも書籍著者がいらっしゃり、普段は会えない方の話を生で聞いてテンションがめっちゃ上がるのがカンファレンスのよさの1つと思います。
— nikkie / にっきー (@ftnext) 2024年3月23日
一方、ビッグネームでなくとも偶然聞いたトークがピンポイントでN=1で刺さることもありますね。
皆さん、ご自分の直感を信じてください!
発表後記
嬉しかったこと
登壇した後、部屋で直接「よかったです」と言ってくださった方が何人もいて、これがめちゃめちゃ嬉しかったです!
聞きに来てくださってありがとうございました。
オンラインでつながっていてリアルでははじめましての方もいらっしゃいました。
全人類には刺さらないと思ってますが、私以外にも共有できる知見があってよかった...😭
ソフトウェアを作りたかった私へ
— Colloid(コロイド)@春例こ55b (@ColloidGel) 2024年3月24日
説明と雰囲気とノリとスライドが分かりやすく良かった!
ソフトウェアのソフトの意味から展開して変更のし易いコードとはという所の学び方からの共有が分かりやすかったです
クラスのある言語経験しかないのでクラスに関しての内容は大変新鮮でした#OOC_2024_D
気づき1: 基本のリファクタリングテクニックでソフトウェアに変えていける!
小さく分けるを指向した時に、過去の私は行数にだけ注目しており、「入出力と計算判断」や「使用と生成」が混ざった関数やクラスを書いていました。
異なる目的の処理が混ざっていることが変更しにくさの要因となっていたのですが、今回の発表の準備を通して基本のリファクタリングテクニックで変えていけることに気づきました。
- 関数の抽出
- 関数のインライン化
- 関数宣言の変更
書籍『リファクタリング』ではじめの一歩として紹介されるテクニックです(6章)
これらはエディタのサポートを受けて、非常に小さなコストで実施できます。
VS Codeなら「Extract Method」ですね3。
気づき2: インターフェース(生成を分離するとDIPに至る道が見えてくる)
インターフェースについては、Pythonが文法に備えていないので、理解するのに大変苦労しました。
ちょうぜつ本がきっかけとなり、ようやくつかめはじめた感があります。
今回の発表の準備を通して、インターフェースに関する知識がつながった点があります。
「作ると使うを分ける」と依存性逆転への道が見えてくるんですよ!
- 「作ると使うを分ける」で依存するモノを引数で渡す(依存性注入)ように切り出す
- 引数の共通の性質として、インターフェースを導入できる
- 導入すると、インターフェースに依存させられる(=依存性逆転。DIP)
見えてくるというのがミソで、一度に依存性逆転まで持っていかなくてもよいと思っています。
私はテストコードを用意しておいて、いつでも不安なく小さなリファクタリングを重ねていける開発体験を重視する立場です
おまけ:ガイドブックに寄稿しました
Pythonでインターフェースが難しかったという話は、ガイドブックに寄稿しています。
第22章 私とPythonとインターフェース
ノベルティに封入されているOOC2024公式ガイドブックの電子版を公開しました!
— Object-Oriented Conference (@ooc_dev) 2024年3月24日
無料でダウンロードできますので、電子書籍派の方はぜひこちらもご利用ください #ooc_2024 https://t.co/iqtkOKZYgx
寄稿のベースになったのは、こちらのエントリです
終わりに
OOC 2024の登壇報告でした。
聞きに来てくださった方、対面でもTwitterでも感想をお寄せくださった方、本当にありがとうございます。
スタッフの皆さま、素晴らしいカンファレンスをありがとうございました!
このエントリで知ったよという方は、スライドだけでも、このあと公開予定のアーカイブでも見ていただけたら嬉しいです。
応援ください!
(TODO アーカイブが公開されたらこのあたりに載せよう)
P.S. 関連ブログエントリ
登壇準備中のエントリ
発表のベースにしたもの
- 読書ログ | 『Clean Craftsmanship』 第6章 シンプルな設計、ここに詳しく書いてあったのか! - nikkie-ftnextの日記
- #ミノ駆動本 2章を読んで、クラスの使い所がようやく分かった気がします - nikkie-ftnextの日記
- 読書ログ | #ちょうぜつ本 第7章 〜依存性注入で作ると使うを分ける💉 作るはDIコンテナに任せてオートワイヤリング!〜 - nikkie-ftnextの日記
- 読書ログ | #ちょうぜつ本 第5章 〜SOLID原則、この章までの積み重ねと豊富なサンプルコードでこれまでで一番分かりやすかった解説!〜 - nikkie-ftnextの日記