Upgrade to Pro — share decks privately, control downloads, hide ads and more …

成長し続けるアプリのためのテストと設計の関係、そして意思決定の記録。

 成長し続けるアプリのためのテストと設計の関係、そして意思決定の記録。

■ イベント
モバイルアプリのテストコードどうしてる? 現場Tips共有会
https://findy-tools.connpass.com/event/359490/

■ 発表者
技術本部 Sansan Engineering Unit Mobile Applicationグループ
原田 拓眞

■ Androidエンジニア 採用情報
https://media.sansan-engineering.com/android-engineer

■ iOSエンジニア 採用情報
https://media.sansan-engineering.com/ios-engineer

Avatar for SansanTech

SansanTech

July 07, 2025
Tweet

More Decks by SansanTech

Other Decks in Technology

Transcript

  1. - 依存関係が多い - 密結合な設計、DIできてない - 状態遷移が複雑で見通しが立ちづらい - 状態の定義や、状態遷移ロジックが分離できてない - UIにロジックがべったり

    - プレゼンテーション層とビジネスロジック層の分離不備 - いろいろな副作用がある関数 - CQSの原則に違反 - ひとつのクラスに責務てんこ盛り - 単一責務の原則に違反 冒頭の「書きづらさ」とは
  2. - 80件近くの意思決定が記録されている - 承認者としてはiOS/Android双方のテクニカルリード - 全員の同意を取るとスピード感が薄れるため - レビューへの参加は誰でもOK - 決定事項は隔週のグループ会で共有される

    - 状態管理の設計についてはQ毎くらいで見直しと改善が 進んでいる - 長らく自動テストに乗っていなかったテストコードも、ADRで の議論、意思決定を通じて改善された Sansanでは約1年半くらい運用