Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
2024年7月18日 上代洋平 エラーハンドリングを 少しずつ改善していく
Slide 2
Slide 2 text
2 経歴 2022年12月にコドモンに入社。コドモンでは既存機能のリプレイス や新規プロダクトの開発をサーバーサイドKotlinで行っています。 自己紹介 上代 洋平 かじろ ようへい
Slide 3
Slide 3 text
3 Mission
Slide 4
Slide 4 text
4 すべての先生に 子どもと向き合う 時間と心のゆとりを こんなプロダクトを開発しています メインプロダクトは、保育・教育施設向けWebアプリケーション。 保護者と施設のやり取りを支えるモバイルアプリケーションや、施設職員向けモバイル版 アプリケーション、外部サービスと連携するAPIなども開発しています。
Slide 5
Slide 5 text
5 導入施設数推移(ICT) 8,000 5,200 1,500 全国導入数 18,000 施設 11,000 17,000 (2024年3月時点) 14,000 2021年4月 2020年4月 2019年4月 3,000 2018年4月 2017年4月 500 2016年4月 120 2022年2月 2024年3月 2023年4月
Slide 6
Slide 6 text
6 エラーハンドリングの改善を行っているのでその 話をします
Slide 7
Slide 7 text
7 CONFIDENTIAL - © 2022 CoDMON Inc. 7 用語の説明 ● LOGICAL FAILURE ○ ドメイン内では成功とはみなされないが、まだそのドメインの範囲内に ある状況を指す。 ● REAL EXCEPTIONS ○ 技術的な問題であり、ドメインの一部ではないもの。
Slide 8
Slide 8 text
8 CONFIDENTIAL - © 2022 CoDMON Inc. 8 アーキテクチャ
Slide 9
Slide 9 text
9 CONFIDENTIAL - © 2022 CoDMON Inc. 9 アーキテクチャ
Slide 10
Slide 10 text
10 CONFIDENTIAL - © 2022 CoDMON Inc. 10 なぜRepository? ● 入出力の部分はコードが制御できない外部起因のエラー が発生しやすい。 ● LOGICAL FAILUREとREAL EXCEPTIONSを区別しない ので処理が煩雑になってしまっていた。
Slide 11
Slide 11 text
11 CONFIDENTIAL - © 2022 CoDMON Inc. 11 コード例
Slide 12
Slide 12 text
12 CONFIDENTIAL - © 2022 CoDMON Inc. 12 良い点/改善点 ● 全てEitherで扱うのでルールとしてわかりやすい ● コード量が増えやすい ● LOGICAL FAILUREとREAL EXCEPTIONSを同じように 扱っているためハンドリングしたいものに集中しづらい
Slide 13
Slide 13 text
13 改善したい
Slide 14
Slide 14 text
14 CONFIDENTIAL - © 2022 CoDMON Inc. 14 方針 ● Repositoryのみ改善をする ● LOGICAL FAILUREはEitherで扱う ● REAL EXCEPTIONSはthrowする → フレームワークで処理をする
Slide 15
Slide 15 text
15 CONFIDENTIAL - © 2022 CoDMON Inc. 15 改善後のコード例(REAL EXCEPTIONSのみ発生)
Slide 16
Slide 16 text
16 CONFIDENTIAL - © 2022 CoDMON Inc. 16 改善後のコード例
Slide 17
Slide 17 text
17 CONFIDENTIAL - © 2022 CoDMON Inc. 17 改善後 ● すべてEitherで扱うのでルールとしてわかりやすい → エラーを区別するためルールとしては多少は複雑性が増した ● コード量が増えやすい → エラーの型をチェックするコードなどを以前より減らせる
Slide 18
Slide 18 text
18 CONFIDENTIAL - © 2022 CoDMON Inc. 18 改善後 ● LOGICAL FAILUREとREAL EXCEPTIONSを同じように 扱っているためハンドリングしたいものに集中しづらい → エラーを判別することによりドメインでハンドリングしたいもの(LOGICAL FAILURE)に集中できる
Slide 19
Slide 19 text
19 CONFIDENTIAL - © 2022 CoDMON Inc. 19 結果 ● LOGICAL FAILUREとREAL EXCEPTIONSを区別して適 切にハンドリングするとコードの見通しが良くなる。
Slide 20
Slide 20 text
20 CONFIDENTIAL - © 2022 CoDMON Inc. 20 参考 https://elizarov.medium.com/kotlin-and-exceptions- 8062f589d07
Slide 21
Slide 21 text
21 ちなみに
Slide 22
Slide 22 text
22 コドモン採用ページ 開発ブログ コドモンでは一緒に働きたい仲間を募集しています!
Slide 23
Slide 23 text
23 ご清聴ありがとうございました!
Slide 24
Slide 24 text
No content