以下の内容はhttps://aki-m.hatenadiary.com/entry/2025/05/07/221048より取得しました。


yr-learning Vol66に参加してきた

yr-camp.connpass.com

こちらのイベントに参加してきたので、会の様子と感想を書いていこうと思います。

環境構築

github.com

今日からは関数型プログラミングで開発をしてみようという話をしていたので、早速環境構築から取り掛かっていきました。

リポジトリはこれまでのものを流用しようということで、ディレクトリだけ切ってworkspaceFolderを作ったりindex.tsやtsconfig.jsonを作っていきました。(Bunでほとんどは自動化されていたのでだいぶ楽に作成ができました)

また、biome formatを適用しました。

github.com

関数型プログラミングをTSでやっていく場合の雰囲気を掴む

speakerdeck.com

の資料を使った関数型プログラミングをTSでしていくならどんな感じになるのか雰囲気を掴みにいきました。

ただ、最初は色々と資料を読んでいたものの、実際に書いてみないと分からないところも多くあるよねという話になり、とりあえず簡単なお題でコードを書いてみることにしました。

これまでのイベントで積み上げてきた知識を再活用できるようにという想いを込めて、お題は前回に引き続きTrading Card Gameを選択しました。

最初のテストケースを書く

まずはGameの勝者が決まるテストケースを書いていきました。

github.com

これまでの手癖もあって、const game = new Game()としそうになって、これではいけないと踏みとどまり笑、関数型で書くならどう書くとよいのかを生成AIも使いながら試行錯誤して最初のケースを書きました。

小さな歩幅で進める

github.com

今回は関数型プログラミングに取り組みはじめということもあったので、小さな歩幅でテストケースを書いていきました。(まずはearly returnをなくす)

書いていくうちにBuilderみたいな感じで書けるとより関数型の旨味が出てきそうだという話をして、次回はそこから書くのを検討していこうという話をして終わりました。




以上の内容はhttps://aki-m.hatenadiary.com/entry/2025/05/07/221048より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14