バリデーション付きフォームの大量生産から学ぶ「ちょうどいい設計」 by hirano masaki

iOSDC Japan 2024
レギュラートーク(40分)

バリデーション付きフォームの大量生産から学ぶ「ちょうどいい設計」

Studio_Rookery hirano masaki Studio_Rookery
3

皆さんはバリデーション付き入力フォームを50個実装しないといけなくなった場合どのようにコードを設計しますか?

これに限らず広範囲のコードの設計を行う際

  • 人によって実装にばらつきがない
  • テストが書きやすい
  • 読みやすい
    といったことを目標にすると思います。

しかし最初から理想の形を目指すのは至難の業です。
理想を追い求めすぎて過剰設計になったり、流行りのアーキテクチャを試したもののうまくマッチしなかったり…

このトークでは実際にあった大量のバリデーション付きフォーム画面を題材にスケールする設計の考え方を紹介します。

まずは「良いコードを書こう」と考えず愚直に動くコードを実装します。
そこから気になる部分を見つけて改善するステップを繰り返していきます。
改善の際にはコードの良し悪しだけでなくチームの状況やプロジェクトの要件も加味していきます。

各ステップごとにコードの Before / After を提示するので「何をしたことでどんな効果があったか」がわかります。
コードが洗礼されていく過程を一緒に体験できるので設計を行う考え方を学べます。

コードの量は多めですがライブラリは使いませんので初学者の方でも楽しめる内容です。
Swift の新機能の PropertyWrapper や ResultBuilder をフルに使うので Swift のおさらいにもなります。