採択 2020/09/20 11:30〜 Track A レギュラートーク(40分)

100人でアプリをリファクタリングして見えてきた、最強のiOSアプリ設計に求められること iOSDC Japan 2020

koher Yuta Koshizawa koher
4月から5月にかけて、リバーシ(オセロ)のiOSアプリを題材に、みんなでリファクタリングに取り組んで知見を共有するオンラインイベント「Swift Zoomin' 」チャレンジを行いました。100人以上の方に参加していただき、その中から9名の方に成果を発表していただきました。

問題への取り組み方は人それぞれでしたが、それらを俯瞰して眺めるとアプリの設計に求められることが浮かび上がります。それは、

- 型を利用してエラーフローを減らす
- 依存性反転の原則を適用して
- UIやファイルI/Oに依存しないテスタブルなコードを実現
- ドメインロジックをアプリ固有のロジックから分離
- 状態遷移を書き出して整理
- データフローを制御してシンプルに

などです。これらは当たり前に言われていることですが、リバーシアプリという具体的な題材について考えることで、より現実感を伴って理解することができます。本トークでは、個々が行ったリファクタリングの結果を横断的に分析し、具体例に基づいてその効果を説明します。

【どうしてリバーシなの?】

何かを説明するときに、具体例を交えて説明することは重要です。しかし、設計というのは、アプリの持つ複雑さをどう扱うかという話なので、短時間で説明しようとすると次のような矛盾を抱えてしまいます。

- 実際のプロダクトのような巨大かつ複雑なコードベースは短時間で理解できない
- 例示のための単純すぎるコードは理解しやすいが、業務で直面するような複雑さを扱うことが難しい

リバーシなら、誰でもルールを知っているのですぐに仕様が理解でき、それでいて相応の複雑さを持っています。リバーシを題材にすることで、「業務で直面するような複雑さ」を扱いながら、「短時間で理解」できるように説明することを試みます。
2019 スポンサー 2019〆切後 資料請求
オンライン対応未決定 削除予定 オンライン対応検討中 要ロゴ 要PR 要支払 パンフ未確認
仮採択 採択しない スピーカー採択 ニッチ重複 チケット発券確認 原稿 スポンサー LT
仮採択(原稿) 採択済 採択しない 仮採択 要審議 ニッチ企画? LT向き加点 日程調整中 原稿 スポンサー