以下の内容はhttps://ozaki25.hatenadiary.jp/entry/2024/12/12/211242より取得しました。
出前館web/bffにおける品質改善の取り組み〜Biomeの導入〜
Biomeの導入
- 技術スタック
- 課題
- プロジェクトが大きくlintに時間がかかるようになった
- ESLint v8がEOL
- -> Biomeの検証へ
- Biome導入
- ESLint+PrettierをBiomeへ
- 設定の移行ツールがある
- 20秒かかってたのが1秒程度になった
- ESLintのすべてのルールに対応してるわけではない
- Tailwindのプラグインが未対応
フロントエンド設計にモブ設計を導入してみた
モブ設計
- 個人で設計することの課題
- アイデアの幅が限定的になる
- 孤独とプレッシャーがある
- 背景共有の難しさ
- モブプロを普段やっていた
- モブ設計
- 1つの設計を複数人で
- モブプロのようにドライバー/ナビゲーター
- 狙い通りの効果は出た
- リソースコストとスケジュール調整が難点
フロントエンド開発を変える!ステートマシンによる予測可能なUI設計
ステートマシン
- 状態とその遷移のモデル
- 状態に対してどんなアクションを与えるとどんな状態に遷移するか
- 実装方法
- useStateだけで実装するとUIの状態とデータの管理が混在していく
- ありえない組み合わせも存在する
- どんな状態があるのか予測しづらい
- useReducerを使ってReduxっぽくやっていく
- XStateというライブラリを使うと簡略化できる
- stateをjsonで定義できる
- VSCode上で図示することもできる
- 図で修正してコードに反映とかも
複雑性の高いフォーム
フォーム
- React Hook Formを使ってる
- フォーム個別にuseFormした方が独立してていい
- でもフォームをまたいだバリデーションなど不便なケースも
- アプリケーション全体でuseFormで囲う
- useFormContextを使えばバケツリレーも不要
4年間でのフロントエンドリアーキテクチャの変遷
- 初期モノリス -> モノリス拡張 -> アプリケーション分割
- 個人でTODOを日々積み重ねて管理
- 優先度作ってロードマップ作ってやっていく
- 機能改修でちょうど負債があるところだったら前段にリファクタリングも置くとか
以上の内容はhttps://ozaki25.hatenadiary.jp/entry/2024/12/12/211242より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます
不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14